我有当天的日期时间。我需要获得两个unix时间戳的开始和本周的结束。我如何使用dateperiod或dateinterval类?
答案 0 :(得分:13)
$now = time();
$beginning_of_week = strtotime('last Monday', $now); // Gives you the time at the BEGINNING of the week
$end_of_week = strtotime('next Sunday', $now) + 86400; // Gives you the time at the END of the last day of the week
答案 1 :(得分:5)
if (date('w', time()) == 1)
$beginning_of_week = strtotime('Today',time());
else
$beginning_of_week = strtotime('last Monday',time());
if (date('w', time()) == 7)
$end_of_week = strtotime('Today', time()) + 86400;
else
$end_of_week = strtotime('next Sunday', time()) + 86400;
答案 2 :(得分:2)
public static function getDaysInWeek($timestamp)
{
$monday = idate('w', $timestamp) == 1 ? $timestamp : strtotime("last Monday", $timestamp);
$days = array();
for ($i = 0; $i < 7; ++$i)
{
$days[$i] = strtotime('+' . $i . ' days', $monday);
}
return $days;
}