if(!function_exists('get_date_array')){
function get_date_array(){
$_NOW = time();
$today_begin = strtotime(date('Y-m-d',$_NOW));
$time = strtotime('-2 month', $_NOW);
$beginTime = mktime(0, 0,0, date('m', $time), 1, date('Y', $time));
$endTime = mktime(0, 0, 0, date('m', $_NOW), date('t', $_NOW), date('Y', $_NOW));
$date=date('Y-m-d');
$first=1; //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
$w=date('w',strtotime($date)); //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
$now_start=date('Y-m-d',strtotime("$date -".($w ? $w - $first : 6).' days')); //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
$now_end=date('Y-m-d',strtotime("$now_start +6 days")); //本周结束日期
$last_start=date('Y-m-d',strtotime("$now_start - 7 days")); //上周开始日期
$last_end=date('Y-m-d',strtotime("$now_start - 1 days")); //上周结束日期 $date = array(
array(
'time_name'=>'今天',
'begin_time'=>date('Y-m-d',$today_begin),
'end_time'=>date('Y-m-d',$today_begin),
),
array(
'time_name'=>'昨日',
'begin_time'=>date('Y-m-d',mktime(0,0,0,date('m'),date('d')-1,date('Y'))),
'end_time'=>date('Y-m-d',mktime(0,0,0,date('m'),date('d'),date('Y'))-1),
),
array(
'time_name'=>'上周',
'begin_time'=>$last_start,
'end_time'=>$last_end,
),
array(
'time_name'=>'本周',
'begin_time'=>$now_start,
'end_time'=>$now_end,
),
array(
'time_name'=>'上月',
'begin_time'=>date('Y-m-d',mktime(0, 0 , 0,date("m")-1,1,date("Y"))),
'end_time'=>date('Y-m-d',mktime(0,0,0,date("m") ,0,date("Y"))),
),
array(
'time_name'=>'本月',
'begin_time'=>date('Y-m-d',mktime(0,0,0,date('m'),1,date('Y'))),
'end_time'=>date('Y-m-d',mktime(0,0,0,date('m'),date('t'),date('Y'))),
),
array(
'time_name'=>'近三个月',
'begin_time'=>date('Y-m-d',$beginTime),
'end_time'=>date('Y-m-d',$endTime),
)
);
return $date;
}
}

PHP 小方法之 显示 今天 昨天 上周 上月 近三月 的时间的更多相关文章

  1. 微信小程序中显示html富文本的方法

    微信小程序中显示html富文本的方法 使用方法:git地址:https://github.com/icindy/wxParse 一.下载wxParse文件 二.在要引入的页面的js文件中,引入文件 j ...

  2. JS获取当前时间(YYYY-MM-DD ),element显示默认当前时间,显示默认昨天,显示默认上个月

    原文链接:点我 进来的随便看看,或许有帮助 vue+element-ui   datepicker 设置默认日期用的框架是vue+element-ui ,以下是时间控件 <el-form-ite ...

  3. jQuery提供的小方法

    jQuery提供的小方法: 1.选择器 + 事件 + 函数 = 复杂的交互 2.循环处理与选择器匹配的各个元素:each() $("#").each(function(){     ...

  4. GridView有用的小方法--2017年2月13日[转]

    快速预览: GridView无代码分页排序GridView选中,编辑,取消,删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合 ...

  5. vue-awesome-swiper组件不能自动播放和导航器小圆点不显示问题

    from: https://blog.csdn.net/osdfhv/article/details/79062427 <template> <div class="swi ...

  6. wdatepicker控件de使用小方法汇总

    在总结wdatepicker控件的使用前,先插播一条吧,下午刚心血来潮百度的一条 问?C#中Int16.Int32.Int64.之间的区别,:::嘿嘿其实百度知道就有,但还是写上吧! Int16 表示 ...

  7. 提高django model效率的几个小方法

    django的model效率不是很高,特别是在做大量的数据库操作的时候,如果你只用django来开企业站或者外包项目的话,那可以小跳过下,而你恰巧是效率狂或者说是对程序的效率要求比较高的话,那就要注意 ...

  8. 6.bootstrap 将文本内容关联一个动作(手机端导航适配)&在超小尺寸下显示,屏幕变大后消失

    1.情景:这是出现在手机端导航适配的,点击文本MENU可以出现下拉的list 解决方法: 1.首先要想到,MENU只有两个状态,因此可以用checkbox实现 2.将MENU放在label标签里面,l ...

  9. GridView有用的小方法--2017年2月13日

    原文:http://blog.csdn.net/21aspnet/article/category/285354更多:http://blog.csdn.net/21aspnet/article/cat ...

随机推荐

  1. [daily][archlinux][fonts] 在linux下管理字体

    序: linux是社区搞出来, 商业应用也都是服务器场景.社区里又都是技术人员.字体又是细节.而且会英文早成了标配.所以没有很多社区以外的人力来搞字体这个毫无回报的东西. 结果很自然的,装linux桌 ...

  2. 在VS2013中查看C/C++预处理后的文件

    1.右键工程(例子中是myproject),选择[属性],在弹出的对话框中,选择[配置属性]-->[C/C++]-->[预处理器],将[预处理到文件]该为[是],应用,确认. 2.在VS ...

  3. 两种方法解决tomcat的 Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]

    出现这种原因主要是8080端口被占用了. 解决1: 打开任务管理器看看里面有没有javaw的线程,把它关了再重新启动tomcat看看. 解决2: 修改tomcat /conf /server.xml ...

  4. Java并发控制:ReentrantLock Condition使用详解

    生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区.其中一个是生产者,用于将消息放入缓冲区:另外一个 ...

  5. Java 画图

    package com.lf.testproxy; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; i ...

  6. Linux:SSH错误"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! "

    hadoop@master:~$ scp /home/hadoop/.ssh/authorized_keys node3:/home/hadoop/.ssh/ @@@@@@@@@@@@@@@@@@@@ ...

  7. ReentrantReadWriteLock读写锁详解

    一.读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁.在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源:但是如果一个线 ...

  8. 图割Graph-Cut的最大流实现

    利用最大流标号法求解最大流,详见代码: Version:未加头尾节点版: 缺点:havn't take nodes' pixels into consideration /************** ...

  9. 2Sigma OA prepare: Friends Circle

    DFS & BFS: 关键在于构造graph package twoSigma; import java.util.ArrayList; import java.util.HashSet; i ...

  10. 模板 KMP

    [模板]KMP int next[N]; char str1[M],str2[N]; //str1 长,str2 短 //len1,len2,对应str1,str2的长 void get_next(i ...