php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间
权声明:本文为博主原创文章,未经博主允许不得转载。
- //这个星期的星期一
- // @$timestamp ,某个星期的某一个时间戳,默认为当前时间
- // @is_return_timestamp ,是否返回时间戳,否则返回时间格式
- function this_monday($timestamp=0,$is_return_timestamp=true){
- static $cache ;
- $id = $timestamp.$is_return_timestamp;
- if(!isset($cache[$id])){
- if(!$timestamp) $timestamp = time();
- $monday_date = date('Y-m-d', $timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400));
- if($is_return_timestamp){
- $cache[$id] = strtotime($monday_date);
- }else{
- $cache[$id] = $monday_date;
- }
- }
- return $cache[$id];
- }
- //这个星期的星期天
- // @$timestamp ,某个星期的某一个时间戳,默认为当前时间
- // @is_return_timestamp ,是否返回时间戳,否则返回时间格式
- function this_sunday($timestamp=0,$is_return_timestamp=true){
- static $cache ;
- $id = $timestamp.$is_return_timestamp;
- if(!isset($cache[$id])){
- if(!$timestamp) $timestamp = time();
- $sunday = this_monday($timestamp) + /*6*86400*/518400;
- if($is_return_timestamp){
- $cache[$id] = $sunday;
- }else{
- $cache[$id] = date('Y-m-d',$sunday);
- }
- }
- return $cache[$id];
- }
- //上周一
- // @$timestamp ,某个星期的某一个时间戳,默认为当前时间
- // @is_return_timestamp ,是否返回时间戳,否则返回时间格式
- function last_monday($timestamp=0,$is_return_timestamp=true){
- static $cache ;
- $id = $timestamp.$is_return_timestamp;
- if(!isset($cache[$id])){
- if(!$timestamp) $timestamp = time();
- $thismonday = this_monday($timestamp) - /*7*86400*/604800;
- if($is_return_timestamp){
- $cache[$id] = $thismonday;
- }else{
- $cache[$id] = date('Y-m-d',$thismonday);
- }
- }
- return $cache[$id];
- }
- //上个星期天
- // @$timestamp ,某个星期的某一个时间戳,默认为当前时间
- // @is_return_timestamp ,是否返回时间戳,否则返回时间格式
- function last_sunday($timestamp=0,$is_return_timestamp=true){
- static $cache ;
- $id = $timestamp.$is_return_timestamp;
- if(!isset($cache[$id])){
- if(!$timestamp) $timestamp = time();
- $thissunday = this_sunday($timestamp) - /*7*86400*/604800;
- if($is_return_timestamp){
- $cache[$id] = $thissunday;
- }else{
- $cache[$id] = date('Y-m-d',$thissunday);
- }
- }
- return $cache[$id];
- }
- //这个月的第一天
- // @$timestamp ,某个月的某一个时间戳,默认为当前时间
- // @is_return_timestamp ,是否返回时间戳,否则返回时间格式
- function month_firstday($timestamp = 0, $is_return_timestamp=true){
- static $cache ;
- $id = $timestamp.$is_return_timestamp;
- if(!isset($cache[$id])){
- if(!$timestamp) $timestamp = time();
- $firstday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp),1,date('Y',$timestamp)));
- if($is_return_timestamp){
- $cache[$id] = strtotime($firstday);
- }else{
- $cache[$id] = $firstday;
- }
- }
- return $cache[$id];
- }
- //这个月的第一天
- // @$timestamp ,某个月的某一个时间戳,默认为当前时间
- // @is_return_timestamp ,是否返回时间戳,否则返回时间格式
- function month_lastday($timestamp = 0, $is_return_timestamp=true){
- static $cache ;
- $id = $timestamp.$is_return_timestamp;
- if(!isset($cache[$id])){
- if(!$timestamp) $timestamp = time();
- $lastday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp),date('t',$timestamp),date('Y',$timestamp)));
- if($is_return_timestamp){
- $cache[$id] = strtotime($lastday);
- }else{
- $cache[$id] = $lastday;
- }
- }
- return $cache[$id];
- }
- //上个月的第一天
- // @$timestamp ,某个月的某一个时间戳,默认为当前时间
- // @is_return_timestamp ,是否返回时间戳,否则返回时间格式
- function lastmonth_firstday($timestamp = 0, $is_return_timestamp=true){
- static $cache ;
- $id = $timestamp.$is_return_timestamp;
- if(!isset($cache[$id])){
- if(!$timestamp) $timestamp = time();
- $firstday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp)-1,1,date('Y',$timestamp)));
- if($is_return_timestamp){
- $cache[$id] = strtotime($firstday);
- }else{
- $cache[$id] = $firstday;
- }
- }
- return $cache[$id];
- }
- //上个月的第一天
- // @$timestamp ,某个月的某一个时间戳,默认为当前时间
- // @is_return_timestamp ,是否返回时间戳,否则返回时间格式
- function lastmonth_lastday($timestamp = 0, $is_return_timestamp=true){
- static $cache ;
- $id = $timestamp.$is_return_timestamp;
- if(!isset($cache[$id])){
- if(!$timestamp) $timestamp = time();
- $lastday = date('Y-m-d', mktime(0,0,0,date('m',$timestamp)-1, date('t',lastmonth_firstday($timestamp)),date('Y',$timestamp)));
- if($is_return_timestamp){
- $cache[$id] = strtotime($lastday);
- }else{
- $cache[$id] = $lastday;
- }
- }
- return $cache[$id];
- }
- echo '本周星期一:'.this_monday(0,false).'';
- echo '本周星期天:'.this_sunday(0,false).'';
- echo '上周星期一:'.last_monday(0,false).'';
- echo '上周星期天:'.last_sunday(0,false).'';
- echo '本月第一天:'.month_firstday(0,false).'';
- echo '本月最后一天:'.month_lastday(0,false).'';
- echo '上月第一天:'.lastmonth_firstday(0,false).'';
- echo '上月最后一天:'.lastmonth_lastday(0,false).'';
php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间的更多相关文章
- sql 获取本周周一和周日
版本1.0(获取周日存在问题,请勿使用,仅用于引以为戒) 存在问题,获取周日的时候,当当前时间正好是周日,会获取下一周的周日,而非本周周日. ,)),) ),, ,)),) 版本2.0 看到版本1.0 ...
- SQL获取本周,上周,本月,上月第一天和最后一天[注:本周从周一到周天]
DECLARE @ThisWeekStartTime NVARCHAR(100),@ThisWeekEndTime NVARCHAR(100),--本周 @LastWeekStartTime NVAR ...
- js获取本周、上周的开始结束时间
这两天在做一个报表体统,其中涉及到了一个根据本周,上周,本月,上月的时间来进行查询的问题,在这个我就教一下大家怎么实现,大家如果有更好的实现方法的,我也希望大家能说出来,我们交流交流. 首先呢,我写了 ...
- js获取选中日期的当周的周一和周日
js获取选中日期的当周的周一和周日 第一种方法(推荐): function getWeekStr(str) { // 将字符串转为标准时间格式 str2 = Date.parse(str); let ...
- C#获取本周、上周、本月、上月、本季度、上季度、本年、上一年起始时间和结束时间
/// 取得某月的第一天 /// </summary> /// <param name="datetime">要取得月份第一天的时间</param&g ...
- SQL获取本周,上周,本月,上月的开始时间和结束时间
),),--本周 ),),--上周 ),),--本月 ),),--上月 ),),--近半年 ),)--近一年 ), ,, ),)--本周开始时间 ), ,, ),)--本周结束时间 ),,, ),)- ...
- C#获取本周周一的日期
/// <summary> /// 获取本周的周一日期 /// </summary> /// <returns></returns> public st ...
- 【HANA系列】SAP HANA SQL获取本周的周一
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL获取本周 ...
- Asp.net C# 获取本周上周本月上月本年上年第一天最后一天时间大全
DateTime dt = DateTime.Now; int weeknow = Convert.ToInt32(DateTime.Now.DayOfWeek); ) * weeknow + ; D ...
随机推荐
- [HMLY]14.对iOS开发中使用MVVM的理解和使用(初级)
前言 MVVMDemo 之前几个月一直在学习react-native,它的组件化开发真的是很棒,控件和页面的组件化在开发中可以很好的复用,节省开发时间.在那个时候还不知道react-native开发用 ...
- Jquery datepicker 时间插件使用 js 时间相加,相减
$(document).ready(function(){ //输入框事件 $('#probation').bind('input propertychange', function() { var ...
- Vim快捷键大全
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是"visual interfa ...
- 2016 ACM/ICPC Asia Regional Qingdao Online 1001 I Count Two Three
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- JavaScript - 平稳退化
JavaScript使用window对象的open()方法来创建新的浏览器窗口.这个方法有三个参数:window.open(url,name,features)这三个参数都是可选的.1.第一个参数是想 ...
- [Q]自定义快捷键
打开CAD批量打图精灵主界面可以使用以下三个命令其一:“QuickPlot”.“QPlot”.“QP”.“PP”,其中“PP”可以更改, 方法如下:进入AutoCAD传统界面,点“工具”-“自定义”- ...
- python3 获取阿里云ECS 实例及监控的方法
#!/usr/bin/env python3.5 # -*- coding:utf8 -*- try: import httplib except ImportError: import http.c ...
- VMware安装ubuntu,通过/mnt/hgfs 挂载共享Windows系统文件夹
网上各种相关的配置说明,但是都没一个完整的,在这里楼主结合实战亲测,这一整套包含各种情况 1.安装VMware tools 2.解压到任意一个文件夹 tar -xzvf VMwareTools**** ...
- 图像处理_imgproc笔记(1)
图像处理_滤波器 (1)图像的平滑处理 图像的平滑也称模糊,平滑处理需要一个滤波器,最常用的滤波器就是线性滤波器,线性滤波器的输出像素值是g(x,y),是输入像素值是 f(x,y)的加权和: ...
- Asp.net简单代码设置GridView自适应列宽不变形
动态绑定的GridView由于列数不固定,而列又太多,是要自定设置gridView的宽度 //在GridView的行数据绑定完的事件中设置 protected void gvObjectList_Ro ...