PHP获取上个月、下个月、本月的日期(strtotime(),date())

來源:互聯網  2016-05-25 17:20:41  評論

php获取上个月、下个月、本月的日期(strtotime(),date())今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改。

获取本月日期:

1 function getMonth($date){2 $firstday = date("Y-m-01",strtotime($date));3 $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));4 return array($firstday,$lastday);5 }

$firstday是月份的第一天,假如$date是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-02-28,用date()和strtotime()真是太方便了。

获取上月日期:

1 function getlastMonthDays($date){2 $timestamp=strtotime($date);3 $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));4 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));5 return array($firstday,$lastday);6 }

上月日期需要先获取一个时间戳,然后在月份上-1就OK了,超智能的date()会把2014-0-1这种东西转换成2013-12-01,太爽了。

获取下月日期:

1 function getNextMonthDays($date){ 2 $timestamp=strtotime($date); 3 $arr=getdate($timestamp); 4 if($arr['mon'] == 12){ 5 $year=$arr['year'] +1; 6 $month=$arr['mon'] -11; 7 $firstday=$year.'-0'.$month.'-01'; 8 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); 9 }else{10 $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));11 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));12 }13 return array($firstday,$lastday);14 }

下月日期的代码看起来比较长一点,因为date()转不了类似2014-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦。

总得来说,还是很方便的,日期函数太强大了。

php获取上个月、下个月、本月的日期(strtotime(),date())  今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改。

获取本月日期:

1 function getMonth($date){2 $firstday = date("Y-m-01",strtotime($date));3 $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));4 return array($firstday,$lastday);5 }

$firstday是月份的第一天,假如$date是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-02-28,用date()和strtotime()真是太方便了。

获取上月日期:

1 function getlastMonthDays($date){2 $timestamp=strtotime($date);3 $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));4 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));5 return array($firstday,$lastday);6 }

上月日期需要先获取一个时间戳,然后在月份上-1就OK了,超智能的date()会把2014-0-1这种东西转换成2013-12-01,太爽了。

获取下月日期:

1 function getNextMonthDays($date){ 2 $timestamp=strtotime($date); 3 $arr=getdate($timestamp); 4 if($arr['mon'] == 12){ 5 $year=$arr['year'] +1; 6 $month=$arr['mon'] -11; 7 $firstday=$year.'-0'.$month.'-01'; 8 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); 9 }else{10 $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));11 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));12 }13 return array($firstday,$lastday);14 }

下月日期的代码看起来比较长一点,因为date()转不了类似2014-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦。

总得来说,还是很方便的,日期函数太强大了。

php上个月,PHP获取上个月、下个月、本月的日期(strtotime(),date())相关推荐

  1. PHP下获取上个月、下个月、本月的日期(strtotime,date)

    今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想 ...

  2. php 获取上个月、下个月、本月的日期 当前月份的前后一个月

    php 获取上个月.下个月.本月的日期 当前月份的前后一个月 <?php    date_default_timezone_set("UTC");  function Get ...

  3. 获取上个月、当前时间和下个月

    function getXmonthToday(type) {// type 0 是当天 -1 是上个月 1是下个月var now = new Date(); // 可以传值调式 now = new ...

  4. js获取上个月今天或下个月今天

    getXmonthToday(type) {// type 0 是当天 -1 是上个月 1是下个月var now = new Date(); // 可以传值调式 now = new Date(2019 ...

  5. js获取上个月的今天或者下个月的今天

    如果上个月或者下个月没有今天,就取上个月或者下个月的最后一天. 传参数 1是下个月的今天,-1是取上个月的今天. function getXmonthToday(type) {// type 0 是当 ...

  6. JS获取上个月与下个月

    /*获取上个月*/function getPreMonth(date) {var arr = date.split('-');var year = arr[0]; //获取当前日期的年份var mon ...

  7. javascript 获得上个月、获取下个月日期

    在写日历控件时遇到个难题,用javascript获取上个月,没有自带的方法,太落后了,还得自己写,这真是累人啊! Date.getDayOfMonth = function (y, Mm) {/// ...

  8. js获取上个月的年月和下个月的年月(yyyyMM)

    //获取当前月上月的年月 var date = new Date(); var months = (date.getMonth() + 1); var m = '0' + (months-1); va ...

  9. PHP获取上个月当月下一个月的相对应时间的详解

    时间各个字母的含义: a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足 ...

最新文章

  1. 《javascript高级程序设计》笔记:内存与执行环境
  2. 翻译(六)——T-SQL的进阶之路:超过基础的2级水平:写子查询
  3. 【SAM】差异(P4248)
  4. MongoDB 分析查询性能
  5. Linux下的虚拟Bridge实现
  6. Salesforce 中获取数据表字段的 picklist 的值
  7. 莫烦python学习笔记之全局,局部变量
  8. java appkey_Java全栈工程师 风袖 appkey
  9. win7 远程桌面连接
  10. URL中的#是什么意思
  11. 小学计算机课程听课记录,小学信息技术听课记录
  12. Android读书笔记
  13. 读《枪炮,病菌和钢铁》
  14. 计算机怎么开启远程桌面,电脑如何设置远程连接,教您如何远程
  15. vue百度地图标记多个marker和marker点击事件处理
  16. 网易云音乐linux安装路径,修复网易云音乐Linux版不能安装及运行的问题
  17. C++ Reference: Standard C++ Library reference: C Library: cstdio: vsprintf
  18. 程序员去哪里找靠谱的兼职?(附项目库)
  19. android wifi传输音乐,让你通过WiFi分享手机上的歌曲,音乐共享软件MyStream十一发布Android版...
  20. Postgresql之Vacuum和Vacuum full的区别

热门文章

  1. Django的序列化和反序列化
  2. JAVA多线程详解(超详细)
  3. java 阿拉伯数字书写的金额,转换为中文形式 初步结果 不知有无bug
  4. PTA 最大子序列和
  5. windows域名映射
  6. php微信小程序项目本地调试https和CA证书问题
  7. Python开发微信公众平台(一)
  8. 【JVM】一文搞懂常见GC算法
  9. 显示器接口_【知识小科普】什么是DP接口?DP接口可以转接那些接口?|显示器|mini|端口|amd|dvi...
  10. thinkphp5模板之使用运算符和三元运算