Php 获取一周中的工作日
例如,我有: $week_number='13'; $year='2012'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 =
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对每个人来说都很清楚,而且分类更好。