Php 获取一周中的工作日

Php 获取一周中的工作日,php,datetime,Php,Datetime,例如,我有: $week_number='13'; $year='2012' 2012年的13周,从2012年3月26日到2012年4月1日。如何使用PHP获取并显示此信息?嗯。。。如果你只有周数和年份,那就没那么容易了。但您可以使用以下选项: <?php $week = '13'; $year = '2012'; $firstDayOfYear = strtotime('01.01.'.$year); $oneWeek = 7 * 24 * 60 * 60; $dateStart =

例如,我有:

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


2012年的13周,从2012年3月26日到2012年4月1日。如何使用PHP获取并显示此信息?

嗯。。。如果你只有周数和年份,那就没那么容易了。但您可以使用以下选项:

<?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>'; 

?>

希望这能有所帮助。

该函数能够理解用于描述时间的精细语法

<?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";

?>

请注意,
strotime()
似乎从星期天开始计算整周。因此,2011年1月1日将被视为当年的“零周”


YMMV。根据口味加盐。

我强烈建议在YYYY-mm-dd标准化日期。不同的国家有不同的传统惯例,因此您永远不知道2012年3月2日是2月3日还是3月2日。但2012-03-02对每个人来说都很清楚,而且分类更好。