php上个月,PHP获取上个月、下个月、本月的日期(strtotime(),date())
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())相关推荐
- PHP下获取上个月、下个月、本月的日期(strtotime,date)
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想 ...
- php 获取上个月、下个月、本月的日期 当前月份的前后一个月
php 获取上个月.下个月.本月的日期 当前月份的前后一个月 <?php date_default_timezone_set("UTC"); function Get ...
- 获取上个月、当前时间和下个月
function getXmonthToday(type) {// type 0 是当天 -1 是上个月 1是下个月var now = new Date(); // 可以传值调式 now = new ...
- js获取上个月今天或下个月今天
getXmonthToday(type) {// type 0 是当天 -1 是上个月 1是下个月var now = new Date(); // 可以传值调式 now = new Date(2019 ...
- js获取上个月的今天或者下个月的今天
如果上个月或者下个月没有今天,就取上个月或者下个月的最后一天. 传参数 1是下个月的今天,-1是取上个月的今天. function getXmonthToday(type) {// type 0 是当 ...
- JS获取上个月与下个月
/*获取上个月*/function getPreMonth(date) {var arr = date.split('-');var year = arr[0]; //获取当前日期的年份var mon ...
- javascript 获得上个月、获取下个月日期
在写日历控件时遇到个难题,用javascript获取上个月,没有自带的方法,太落后了,还得自己写,这真是累人啊! Date.getDayOfMonth = function (y, Mm) {/// ...
- js获取上个月的年月和下个月的年月(yyyyMM)
//获取当前月上月的年月 var date = new Date(); var months = (date.getMonth() + 1); var m = '0' + (months-1); va ...
- PHP获取上个月当月下一个月的相对应时间的详解
时间各个字母的含义: a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足 ...
最新文章
- 《javascript高级程序设计》笔记:内存与执行环境
- 翻译(六)——T-SQL的进阶之路:超过基础的2级水平:写子查询
- 【SAM】差异(P4248)
- MongoDB 分析查询性能
- Linux下的虚拟Bridge实现
- Salesforce 中获取数据表字段的 picklist 的值
- 莫烦python学习笔记之全局,局部变量
- java appkey_Java全栈工程师 风袖 appkey
- win7 远程桌面连接
- URL中的#是什么意思
- 小学计算机课程听课记录,小学信息技术听课记录
- Android读书笔记
- 读《枪炮,病菌和钢铁》
- 计算机怎么开启远程桌面,电脑如何设置远程连接,教您如何远程
- vue百度地图标记多个marker和marker点击事件处理
- 网易云音乐linux安装路径,修复网易云音乐Linux版不能安装及运行的问题
- C++ Reference: Standard C++ Library reference: C Library: cstdio: vsprintf
- 程序员去哪里找靠谱的兼职?(附项目库)
- android wifi传输音乐,让你通过WiFi分享手机上的歌曲,音乐共享软件MyStream十一发布Android版...
- Postgresql之Vacuum和Vacuum full的区别