来源:自学PHP网 时间:2014-11-30 11:50 作者: 阅读:次
[导读] 上一个月的今天,strtotime 有个小问题,代码如下:php-rechodate(lsquo;Ymd000000prime;,strtotime(lsquo;-1monthrsquo;,strtotime(rsquo;201307310000prime;)));20130701000000 php-rechod...
PHP计算上一个月的今天是星期几上一个月的今天,strtotime 有个小问题,代码如下:
此时,想起PHP中有一个mktime函数,于是写了如下代码:
当执行时,发现结果和strtotime的结果是一样的. 搜了一下,下面的方法更准确一些:
这里需要注意一点:date(”Y-m”, $last_month_time).“-d” 这段代码,在写代码的过程中如果写成了 “Y-” . date(”m”, $last_month_time).“-d” 则在跨年的时间上有问题. 今天是星期几,代码如下: <?php echo date('Y-m-d',strtotime('-1 month')); ?> 恩…好像是对的..不过..这个函数有个问题,如果月份的天数不同,结果就是错的.加入今天是2012-03-31,计算上个月的今天,那么结果就是2012-03-03; PHP有个函数 mktime,它可以取得日期的时间戳: int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] ) 根据给出的参数返回 Unix 时间戳,时间戳是一个长整数,包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数. 参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值,所以可以通过它来计算,代码如下:
输出的结果是2012-03-02;按理说应该是输出2012-02-31????笨蛋2月有31号吗?没,有30号吗,没?有29号吗?..这个..可以有… PHP给我们处理了这种情况,他会多出几天按下个月来算. 2012年2月最后一天是2012-02-29那么31号比29多两天,所以PHP就累加到下个月来处理 就是2012-03-02啦.
差点忘了,那么星期几怎么算呢??不用算啦..PHP给我们准备好了. date(‘w’,$strtime);输出的就是一周中的第几天.就是星期几了. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com