如何从任何给定日期获得周的开始日期和结束日期

时间:2010-05-09 19:58:26

标签: php

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

2 个答案:

答案 0 :(得分:2)

使用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;
}

答案 1 :(得分:1)

首先将其转换为时间戳(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) ) );