我有例如:
$ week_number ='13'; $ year ='2012';
2012年的13周这是从 26.03.2012 到 1.04.2012 的范围天数。我如何通过PHP获得并显示它?
答案 0 :(得分:3)
strtotime()
函数可以理解用于描述时间的细微差别语法。
<?php
date_default_timezone_set("America/Toronto");
$week_number = '13';
$year = '2012';
$epoch_start = strtotime($year . "0101 + " . $week_number . " weeks - 6 days");
$epoch_end = strtotime($year . "0101 + " . $week_number . " weeks");
print "Start: " . strftime("%Y-%m-%d", $epoch_start) . "\n";
print " End: " . strftime("%Y-%m-%d", $epoch_end) . "\n";
?>
请注意,strtotime()
似乎计算完整周,从周日开始。因此,2011年1月1日将被视为当年的“零周”。
YMMV。盐味。
答案 1 :(得分:2)
<?php
$week = '13';
$year = '2012';
$firstDayOfYear = strtotime('01.01.'.$year);
$oneWeek = 7 * 24 * 60 * 60;
$dateStart = $firstDayOfYear + $oneWeek * ($week - 1);
$dateEnd = $dateStart + $oneWeek;
echo 'From: ' . date('d.m.Y', $dateStart) . '<br>';
echo 'To: ' . date('d.m.Y', $dateEnd) . '<br>';
?>
希望有所帮助。