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. Objective-C objc_class 介绍

        目录(?)[-] Objective-C objc_class 介绍 NSObject objc_class isa super_class name version info instanc ...

  2. linux信号机制与python信号量

    1.信号本质 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件.在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是进程间 ...

  3. PartialViewResult不鸟_ViewStart.cshtml

    概述 在ASP.NET MVC中,对于Action中得到的ActionResult如果是一个ViewResult对象,那么在进行View呈现时,则会先执行_ViewStart.cshtml,然后再去执 ...

  4. alibaba的FastJson(高性能JSON开发包),fastjson 使用demo

    这是关于FastJson的一个使用Demo,在Java环境下验证的 class User{ private int id; private String name; public int getId( ...

  5. C#.NET序列化XML、JSON、二进制微软自带DLL与newtonsoft(json.net)

    序列化是将对象转换成另一种格式(XML.json.二进制byte[]) JSON序列化 .NET中有三种常用的JSON序列化的类,分别是: Newtonsoft.Json.JsonConvert类(推 ...

  6. [Android Tips] 14. Using Proguard with Android without obfuscation

    Option -dontobfuscate REF Using Proguard with Android without obfuscation

  7. TCP中异常关闭链接的意义 异常关闭的情况

    终止一个连接的正常方式是发送FIN. 在发送缓冲区中 所有排队数据都已发送之后才发送FIN,正常情况下没有任何数据丢失. 但我们有时也有可能发送一个RST报文段而不是F IN来中途关闭一个连接.这称为 ...

  8. visual studio 开发linux程序

    VisualGDB支持Linux的原理是,通过ssh连接到Linux系统上通过ssh给linux下达命令 . (类似visualgdb的有windgb  ,这2个都是商业软件.) Visual GDB ...

  9. javascript对json对象的序列化与反序列化

    首先引入一个json2.js.官方的地址为:https://github.com/douglascrockford/JSON-js 这里为了方便我直接贴上源代码 /* json2.js 2013-05 ...

  10. AJax 跨域问题

    从AJAX诞生那天起,XMLHttprequest对象不能跨域请求的问题就一直存在.这似乎是一个很经典的问题了.是由于javascript的同源策略(这里不作深入探讨)所导致. 解决的办法,大概有如下 ...