获取星期几

时间:2012-03-27 00:49:49

标签: php datetime

我有例如:

$ week_number ='13'; $ year ='2012';

2012年的13周这是从 26.03.2012 1.04.2012 的范围天数。我如何通过PHP获得并显示它?

2 个答案:

答案 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>'; 

?>

希望有所帮助。