PHP获取本周第一天和最后一天
用PHP获取本周第一天和最后一天,网上有很多方法,但是太麻烦,或者有bug,这是用php自带的DateTime类实现的方法,比较简单:
<?php //本周的第一天和最后一天 $date = new DateTime(); $date->modify('this week'); $first_day_of_week = $date->format('Y-m-d'); $date->modify('this week +6 days'); $end_day_of_week = $date->format('Y-m-d'); ?>
经过测试modity不知道是用做什么了,于时找了另两个例子
<?php //这个星期的星期一 // @$timestamp ,某个星期的某一个时间戳,默认为当前时间 // @is_return_timestamp ,是否返回时间戳,否则返回时间格式 function this_monday($timestamp = 0, $is_return_timestamp = true) { static $cache; $id = $timestamp . $is_return_timestamp; if (!isset($cache[$id])) { if (!$timestamp) $timestamp = time(); $monday_date = date('Y-m-d', $timestamp - 86400 * date('w', $timestamp) + (date('w', $timestamp) > 0 ? 86400 : - /*6*86400*/ 518400)); if ($is_return_timestamp) { $cache[$id] = strtotime($monday_date); } else { $cache[$id] = $monday_date; } } return $cache[$id]; } //这个星期的星期天 // @$timestamp ,某个星期的某一个时间戳,默认为当前时间 // @is_return_timestamp ,是否返回时间戳,否则返回时间格式 function this_sunday($timestamp = 0, $is_return_timestamp = true) { static $cache; $id = $timestamp . $is_return_timestamp; if (!isset($cache[$id])) { if (!$timestamp) $timestamp = time(); $sunday = this_monday($timestamp) + /*6*86400*/ 518400; if ($is_return_timestamp) { $cache[$id] = $sunday; } else { $cache[$id] = date('Y-m-d', $sunday); } } return $cache[$id]; } ?>
本文地址:http://www.phprm.com/code/58103.html
转载随意,但请附上文章地址:-)