我怎么能得到一周的开始日期和结束日期从任何给定日期

问题描述:

使用PHP我怎样才能从任何给定日期一周的开始日期和结束日期。例如2010-05-13这么周四我怎样才能2010-05-09(SUN)和2010-05-15(SAT)我怎么能得到一周的开始日期和结束日期从任何给定日期

先将其转换为一个时间戳(的strtotime,mktime,等等)。所以我认为$ tm是00:00:00的时间戳。

$w = date("w", $tm); 
echo(date("Y-D-m", $tm - (86400 * $w))); 
echo(date("Y-D-m", $tm + 86400 * (6 - $w))); 

DateTime随着(PHP 5.2+):

function weekBorders($date) { 
    $borders = array(); 
    $borders['first'] = new DateTime($date->format('Y-m-d') .' - '. $date->format('w') .' days'); 
    $borders['last'] = new DateTime($date->format('Y-m-d') .' + '. (6 - $date->format('w')) .' days'); 
    return $borders; 
}