php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。下面首先还是直奔主题以示例说明如何使用 mktime 获取今日、昨日、上周、本月的起始时间戳和结束时间戳,然后在介绍一下 mktime 函数作用和用法。

 01    //php获取今日开始时间戳和结束时间戳
02 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
03 $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
04 //php获取昨日起始时间戳和结束时间戳
05 $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
06 $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
07 //php获取上周起始时间戳和结束时间戳
08 $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
09 $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
10 //php获取本月起始时间戳和结束时间戳
11 $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
12 $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
switch ($exchange_time) {

    case 1 : // 本月

    // 本月起始时间:

    $begin_time = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( "m" ), 1, date ( "Y" ) ) );

    $end_time = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( "m" ), date ( "t" ), date ( "Y" ) ) );

    break;

    case 2 : // 上个月

    // 上个月的起始时间:

    $begin_time = date('Y-m-01 00:00:00',strtotime('-1 month'));

$end_time = date("Y-m-d 23:59:59", strtotime(-date('d').'day'));

    break;

    case 3 : // 上上个月

    $begin_time =  date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-2,1,date("Y")));

    $end_time =  date("Y-m-d H:i:s",mktime(23,59,59,date("m")-1 ,0,date("Y")));

    break;

    }

    echodate("Ymd",strtotime("now")),"\n";

    echodate("Ymd",strtotime("-1 week Monday")),"\n";

    echodate("Ymd",strtotime("-1 week Sunday")),"\n";

    echodate("Ymd",strtotime("+0 week Monday")),"\n";

    echodate("Ymd",strtotime("+0 week Sunday")),"\n";

    echo"*********第几个月:";

    echodate('n');

    echo"*********本周周几:";

    echodate("w");

    echo"*********本月天数:";

    echodate("t");

    echo"*********";

    echo'<br>上周起始时间:<br>';

    echodate("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n";

    echodate("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n";

    echo'<br>本周起始时间:<br>';

    echodate("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"\n";

    echodate("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n";

    echo'<br>上月起始时间:<br>';

    echodate("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))),"\n";

    echodate("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))),"\n";

    echo'<br>本月起始时间:<br>';

    echodate("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))),"\n";

    echodate("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))),"\n";

    $season= ceil((date('n'))/3);//当月是第几季度

    echo'<br>本季度起始时间:<br>';

    echodate('Y-m-d H:i:s',mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";

    echodate('Y-m-d H:i:s',mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";

    $season= ceil((date('n'))/3)-1;//上季度是第几季度

    echo'<br>上季度起始时间:<br>';

    echodate('Y-m-d H:i:s',mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";

    echodate('Y-m-d H:i:s',mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$seas))

  

本人自己总结    获取   月初和月末时间   

         $y = date('Y',time());
$m = date('m',time()); $t1 = strtotime($y.'-'.$m.'-1 00:00:00');//本月初 获取时间戳
//$t2 = strtotime(date('Y-m-t'));//获取本月末 方法2
$t2 = strtotime($y.'-'.($m).'-'.date('t'));//本月末 $time1=date('Y-m-d',$t1);//把本月初时间戳 换成ymd格式
$time2=date('Y-m-d',$t2);//把本月末时间戳 换成ymd格式
$time_where = "between '".$time1."' and '".$time2."' group by add_yy.id";

PS:本站还提供了一个Unix时间戳转换工具,包含了各种常见语言针对时间戳的操作方法,提供给大家参考:

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 时间戳 , 当前月 , 上个月 , 月初 月末 php 获取上个月时间戳、php 上个月时间戳、php 上个月的时间戳、上个月时间戳、db2 求上个月月末日期,以便于您获取更多的相关知识。

php获取当前月与上个月月初及月末时间戳的方法的更多相关文章

  1. php取上个月月初和月末时间戳

    $thismonth = date('m');$thisyear = date('Y');if ($thismonth == 1) { $lastmonth = 12; $lastyear = $th ...

  2. php获取当前月月初至月末的时间戳,上个月月初至月末的时间戳

    当前月 <?php $thismonth = date('m'); $thisyear = date('Y'); $startDay = $thisyear . '-' . $thismonth ...

  3. laravel 获取当前月,当前星期,当天起始时间方法

    获取当前月起始时间: 1. $time=time(); $start=date('Y-m-01',$time);//获取指定月份的第一天 $end=date('Y-m-t',$time); //获取指 ...

  4. C# 获取当前月的月初和月末

    /// <summary> /// 获取当前月的月末日期 /// </summary> /// <returns></returns> public s ...

  5. java获取当前月第一天和最后一天,上个月第一天和最后一天

    package com.test.packager; import java.text.ParseException; import java.text.SimpleDateFormat; impor ...

  6. Date小技巧:set相关操作及应用_获取当前月(季度/年)的最后一天

    set操作还是有不少的,具体见 http://www.w3school.com.cn/jsref/jsref_obj_date.asp, 今天我就只说 setFullYear, setMonth, s ...

  7. moment 获取当前月日历

    获取当前月日历 <template> <div id="calendar"> <div class="top">{{date ...

  8. C# 获取当前月第一天和最后一天 计算两个日期差多少天

    获取当前月的第一天和最后一天 DateTime now = DateTime.Now; DateTime firstDay = ); DateTime lastDay = firstDay.AddMo ...

  9. C# 获取当前月第一天和最后一天

    废话不多说,直接上代码 //先获取当前时间 DateTime now = DateTime.Now; //获取当前月的第一天 DateTime d1 = new DateTime(now.Year, ...

随机推荐

  1. LeetCode 346. Moving Average from Data Stream (数据流动中的移动平均值)$

    Given a stream of integers and a window size, calculate the moving average of all integers in the sl ...

  2. js 两个日期比较相差多少天

    var day1 = new Date("2017-9-17"); var day2 = new Date("2017-10-18"); console.log ...

  3. java中matches的用法

    在java中,时常会用到查看一个字符串是否是数字,这时就可以用到matches()函数. 具体实例如下: public boolean string_matches(String amatch) { ...

  4. CentOS6.9中挂载NTFS移动硬盘

    公司需要本地备份,不占用公网带宽,而本地服务器硬盘容量不够,所以需要将本地服务器centos 6.9系统的备份数据拷贝到移动硬盘. 所以需要在centos上挂载NTFS格式的移动硬盘. 方法/步骤: ...

  5. shell 组合新的变量名

    shell 组合新的变量名 普通变量 name=yushuang var=name # 要获取到yushuang res=`eval echo '$'"$var"` echo $r ...

  6. Visual Assist X 10.6.1830.0 常用快捷键

    Visual Assist X 10.6.1830.0 常用快捷键 1.Alt + G: 在定义与声明之间互跳. 2.Alt + O: 在.h与.cpp之间互跳.(O是字母O,不是数字零) 3.Alt ...

  7. HDU 4135 Co-prime(容斥+数论)

    Co-prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  8. C++中模板template <typename T>

    最近在看C++的源码,遇到了不少问题,一点一点进行补充. 首先就是遇到template <typename Dtype>. 网上解释的非常多,觉得比较啰嗦,其实就是一个类型模板. 比如我们 ...

  9. What is npm?

    什么是npm ? npm全称是Node Package Manager npm makes it easy for JavaScript developers to share and reuse c ...

  10. shapes 不规则边界

    CSS基本形状都是矩形,CSS shapes允许开发者用定制的路径来包裹内容,例如圆形,椭圆,多边形等.   形状可以自定义也可以从图片中推断   从图片推断,例如可以让文字按照图片形状来浮动到一边: ...