我怎樣才能獲得相同的ISO-8601週數,但在前一年使用PHP?如何獲得前一年的日期相對於一年的每週
我很熟悉從時間戳中提取這些軟信息。是否有一種內置的方式讓我從一週的每週,一年的一週到一年的時間到時間戳?
我怎樣才能獲得相同的ISO-8601週數,但在前一年使用PHP?如何獲得前一年的日期相對於一年的每週
我很熟悉從時間戳中提取這些軟信息。是否有一種內置的方式讓我從一週的每週,一年的一週到一年的時間到時間戳?
看看您可以同時使用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;
我認爲你正在尋找mktime。這裏有http://php.net/manual/en/function.mktime.php
不幸的是,mktime並沒有有一個星期或一週的一年的論點。否則,它應該正是我所需要的。 – Andrew
你可以用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));
使用this作爲參考。
你的意思是,如果今天是'2012-11-12 10:00:00週一周45'你想要'2011-11-07 10:00:00週一周45' – sephoy08