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 ...
随机推荐
- Church encoding
In mathematics, Church encoding is a means of representing data and operators in the lambda calculus ...
- mysql 安装补充
1:假如下载的文件名为:mysql-5.0.45.tar.gz 2:假如copy到 /usr/local下 3:groupadd mysql #添加mysql组 4:useradd -g mysql ...
- POJ-3580-SuperMemo(splay的各种操作)
题意:对数组进行各种操作 其中 REVOLVE右移操作.将区间[a,b]右移c位 首先c可能比较多,可以先对区间长度取模. 在右移之后,可以发现[a,b]被分为两个区间[a,b-c] [b-c+1, ...
- 贪心:SPOJ Backup Files
BACKUP - Backup Files no tags You run an IT company that backs up computer data for large offices. ...
- socket(tcp)互发信息
一:有图有真相,很简单 a, b, Thread 构造函数(ParameterizedThreadStart)初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托. 参数star ...
- 【Android Studio】没有先安装JDK
如果没有先安装JDK,安装Android Studio的时候回出现下面这个界面: 请参考我整理的博客文章<JDK的下载.安装和配置>,链接:http://www.cnblogs.com/d ...
- windows Compiler toolchain env
1,gygwin
- VC++ 动态检测串口的热插拔(一)通过注册表实现
在上一篇文章中讲述了如何通过循环遍历的方法获取可用串口,可是这样的方法过于暴力,难免会想有没有其他的办法那,嘿嘿,那是肯定会有的,不管什么问题,解决问题的方法永远都不止一种.下面讲述如何通过注册表来获 ...
- mybatis处理单表多表操作以及动态sql和批量操作
一.单表操作 建立了相应的mapper映射接口类后,在src/main/resources目录下的自己建立的mapper文件夹下创建映射类 select操作:用select标签 属性id为映射接口的方 ...
- 在反射中Member{get{..}set{..}}与Member{get;set;}的区别?
最近的在写代码的时候,需要用到反射来获取类中的所有公开属性值,于是写下如下代码: StringBuilder sb = new StringBuilder(); foreach (var f in t ...