PHP下获取上个月、下个月、本月的日期(strtotime,date)
2015-01-24信息快讯网
因为工作需要需要获取上个月、下个月、本月的日期,特从网站找到了实现代码,特分享下,方便需要的朋友
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改。
获取本月日期:
function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }
$firstday是月份的第一天,假如$date是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-02-28,用date()和strtotime()真是太方便了。
获取上月日期:
function getlastMonthDays($date){ $timestamp=strtotime($date); $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }
上月日期需要先获取一个时间戳,然后在月份上-1就OK了,超智能的date()会把2014-0-1这种东西转换成2013-12-01,太爽了。
获取下月日期:
function getNextMonthDays($date){ $timestamp=strtotime($date); $arr=getdate($timestamp); if($arr['mon'] == 12){ $year=$arr['year'] +1; $month=$arr['mon'] -11; $firstday=$year.'-0'.$month.'-01'; $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); }else{ $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); } return array($firstday,$lastday); }
下月日期的代码看起来比较长一点,因为date()转不了类似2014-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦。
总得来说,还是很方便的,日期函数太强大了。
mantis安装、配置和使用中的问题小结
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Thinkphp的volist标签嵌套循环使用教程
PHP的error_reporting错误级别变量对照表
php发送get、post请求的6种方法简明总结
PHP关于htmlspecialchars、strip_tags、addslashes的解释
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
浅析application/x-www-form-urlencoded和multipart/form-data的区别
ThinkPHP3.1新特性之Action参数绑定
ThinkPHP CURD方法之data方法详解
Codeigniter中禁止A Database Error Occurred错误提示的方法
PHP中date与gmdate的区别及默认时区设置
yii框架builder、update、delete使用方法
php将字符串转化成date存入数据库的两种方式
easyui的tabs update正确用法分享
php获取网页标题和内容函数(不包含html标签)
采用header定义为文件然后readfile下载(隐藏下载地址)
php curl post 时出现的问题解决
php缓冲 output_buffering和ob_start使用介绍
基于php和mysql的简单的dao类实现crud操作功能
linux系统下php安装mbstring扩展的二种方法
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
PHP面向对象之旅:深入理解static变量与方法
php-perl哈希算法实现(times33哈希算法)
php二维数组排序方法(array_multisort usort)
php使用strtotime和date函数判断日期是否有效代码分享
PHP函数microtime()用法与说明
简单实用的.net DataTable导出Execl
关于php程序报date()警告的处理(date_default_timezone_set)
php stream_get_meta_data返回值
PHP中time(),date(),mktime()区别介绍
PHP函数之日期时间函数date()使用详解
php中用date函数获取当前时间有误的解决办法