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/riqi/fs3575.html
随意转载^^但请附上教程地址。