如何使用 php 在前一年获得相同ISO-8601周数的同一天?
我熟悉从时间戳中提取这种软信息。有没有一种内置的方式可以让我从星期几、一年中的一周和一年到时间戳?
您可以像这样使用两者的date
组合strtotime
:
// get the timestamp
$ts = strtotime('today');
// get year, week number and day of week
list($year, $week, $dow) = explode('-', date('Y-W-N', $ts));
// use the "YYYY-WXX-ZZ" format
$format = ($year - 1) . "-W$week-$dow";
echo date('Y-m-d', strtotime($format)), PHP_EOL;
你可以这样做strtotime
:
$now = time(); // Mon, 12 Nov 2012
$targetYear = date('Y', $now) - 1; // 2011
$targetWeek = date('\\WW-N', $now); // W46-1
$lastYear = strtotime($targetYear . $targetWeek); // Mon, 14 Nov 2011
试试这个:
$date = "2012-11-13";
echo getLastYearWeek($date);
function getLastYearWeek($date)
{
$last_year = date("Y-m-d W N", strtotime("-52 Weeks ".$date));
return $last_year;
}
要不就,
$last_year = date("Y-m-d W N", strtotime("-52 Weeks ".$date));
以此作为参考。
我认为您正在寻找 mktime。看看这里http://php.net/manual/en/function.mktime.php