php 时间戳 总结 今日,昨日,上周,本周,最近三个月,上季,本季,去年,最近七天,今年,最近三十天
if($time=="今日"){
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
$begin = Date("Y-m-d",$beginToday);
$end = Date("Y-m-d",$endToday);
}else if($time=="昨日"){
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
$begin = Date("Y-m-d",$beginYesterday);
$end = Date("Y-m-d",$endYesterday);
}else if($time=="上周"){
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
$begin = Date("Y-m-d",$beginLastweek);
$end = Date("Y-m-d",$endLastweek);
}else if($time=="本周"){
//判断当天是星期几,0表星期天,1表星期一,6表星期六
$w_day=date("w",time());
//php处理当前星期时间点上,根据当天是否为星期一区别对待
if($w_day=='1'){
$cflag = '+0';
$lflag = '-1';
}else {
$cflag = '-1';
$lflag = '-2';
}
//本周一零点的时间戳
$frist = strtotime(date('Y-m-d',strtotime("$cflag week Monday", time())));
$begin = Date("Y-m-d",$frist);
$end = Date("Y-m-d",time());
}else if($time=="本月"){
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
$begin = Date("Y-m-d",$beginThismonth);
$end = Date("Y-m-d",$endThismonth);
}else if($time=="上月"){
$beginLastmonth=mktime(0,0,0,date('m')-1,1,date('Y'));
$endLastmonth=mktime(23,59,59,date('m')-1,date('t'),date('Y'));
$begin = Date("Y-m-d",$beginLastmonth);
$end = Date("Y-m-d",$endLastmonth);
}else if($time=="最近三个月"){
$beginThreemonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
$endThreemonth=mktime(23,59,59,date('m')-3,date('t'),date('Y'));
$begin = Date("Y-m-d",$beginThreemonth);
$end = Date("Y-m-d",$endThreemonth);
}else if($time=="本季"){
$begin = date('Y-m-d', mktime(0, 0, 0,$season*3-3+1,1,date('Y')));
$end = date('Y-m-d', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y')));
}else if($time=="上季"){
$season = ceil((date('n'))/3);//当月是第几季度
$begin = date('Y-m-d', mktime(0, 0, 0,$season*3-3-3+1,1,date('Y')));
$end = date('Y-m-d', mktime(23,59,59,$season*3-3,date('t',mktime(0,0,0,$season*3,1,date("Y"))),date('Y')));
}else if($time=="今年"){
$begin = date('Y',time()). '-' ."01-01";
$end = date('Y',time()). '-' ."12-31";
}else if($time=="去年"){
$d=strtotime('-1 years');
$begin = date('Y',$d)."-01-01";
$end = date('Y',$d)."-12-31";
}else if($time=="最近七天"){
$begin = date('Y-m-d', strtotime('-7 days'));
$end = date('Y-m-d',time());
}else if($time=="最近三十天"){
$begin = date('Y-m-d', strtotime('-30 days'));
$end = date('Y-m-d',time());
}
php 时间戳 总结 今日,昨日,上周,本周,最近三个月,上季,本季,去年,最近七天,今年,最近三十天的更多相关文章
- JS函数 计算 今日,昨日,本周,上周,本月
最近有个功能会进行数据的筛选于是便写了几个快速计算 今日,昨日,本周,上周,本月 范围的function 以便以后遇到同样的问题可以直接进行复用,代码如下: /* *获取今日的起始和结束时间 *返回值 ...
- Oracle 查询今天、昨日、本周、本月和本季度的所有记录
Oracle 查询今日.昨日.本周.本月和本季度的所有记录 字段类型为date 今日 select * from 表名 where to_char(字段名,'dd')=to_char(sysdate, ...
- Datediff的使用(统计本日,昨日,本周,本月)
//统计本日,昨日,本周,本月添加的产品总数 //日期 DateTime DT = DateTime.Now; string day=DT.Date.ToS ...
- Oracle 获取本周、本月、本季、本年的第一天和最后一天
Oracle 获取本周.本月.本季.本年的第一天和最后一天 --本周 select trunc(sysdate, 'd') + 1 from dual; select trunc(sysdate, ' ...
- php 获取今日、昨日、本周,上周、本月,上月,季度的起始时间戳和结束时间戳的方法
php 获取今日.昨日.上周.本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime.下面首先还是直奔主题以示例说明如何使用 mktime 获取今日.昨日.上周.本月的起始 ...
- JS 获取 今日、昨日、本周、本月、本季度、本年、上月、上周、上季度、去年
/** * 日期范围工具类 */ var dateRangeUtil = (function () { /*** * 获得当前时间 */ this.getCurrentDate = function ...
- PHP获取今日、昨日、本周、上周、本月、上月、本季、上季、今年、去年
//今天开始$beginToday = date('Y-m-d 00:00:00', time());//今天结束$endToday = date('Y-m-d 23:59:59', time()); ...
- SQL 查询--日期条件(今日、昨日、本周、本月。。。) (转)
主要用到sql 函数 DATEDIFF(datepart,startdate,enddate) sql 语句,设 有 数据库表 tableA(日期字段ddate) ——查询 今日 select * f ...
- JavaScript(js)获取本周,本月,本季,本年,上月,上周,上季,去年,上二周,上二月的时间段的代码
function dateChange(name){ var beginTimeObject = document.getElementById("beginTime"); var ...
随机推荐
- delphi编程里的bool跟boolean类型有什么区别
bool是LongBool类型. Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool.后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使 ...
- 更改Visual Studio 2010/2012/2008的主题设置
一.更改主题: 主题网站:http://studiostyl.es/ Visual Studio 2010发布也已经有一段时间了,不过安装后默认的白底的主题长时间看代码可能会感觉眼睛酸痛,况且时间长了 ...
- 数据结构(左偏树):HDU 1512 Monkey King
Monkey King Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- 字符串(LCT,后缀自动机):BZOJ 2555 SubString
2555: SubString Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 1620 Solved: 471 Description 懒得写背景了 ...
- uri编解码
相关函数如下:(都是全局函数) encodeURI(URIString):将文本字符串编码为有效的统一资源标示符URI decodeURI(URIString) encodeURIComponent( ...
- ARM机器码分析
我们编写的汇编程序还是不够底层,CPU都是对机器码进行操作的,所以还需要用汇编器将汇编代码转换成机器码才能被CPU处理.下面举几个例子来说说分析ARM机器码的方法. 对编译连接之后得到的ELF进行反汇 ...
- 在Linux下查看环境变量
原文地址:http://blog.chinaunix.net/uid-25124785-id-77098.html 有时候在编写makefile的时候,自己都不清楚有些变量是什么,也不清楚如何查看,于 ...
- Spring 报错:Error creating bean with name
org.springframework.beans.factory.BeanCreationException: 原因是在autowire时,找不到相应的类,上述问题是因为XXXXX的实现类中没有加相 ...
- linux 挂载ISO
首先,将作为源的iso的挂载到系统上. 代码如下: mount -o loop /xxx/xxx.iso /mnt/iso/ 其中/mnt/iso是事先在本地建立的文件夹. 然后将文件iso.repo ...
- 深入了解JavaScript中的for循环
在ECMAScript5中,有三种for循环,分别是: 简单for循环 for-in forEach 在ES6中,新增了一种循环 for-of 简单for循环 const arr = [1, 2, 3 ...