【发布时间】:2012-06-13 19:56:22
【问题描述】:
我正在寻找一种可靠的方法来返回当前周的指定工作日(例如“星期一”)的完整日期。
由于今天是 2012 年 6 月 13 日,星期三,我预计 <?php echo date("Y-m-d", strtotime('Mon this week')); ?> 会导致 2012-06-11,但 php 却返回 2012-06-18,就好像它将 本周 解释为意味着 下周。为什么会出现这种行为,我应该怎么做?
谢谢。
--杰夫
【问题讨论】:
-
你如何定义“本周”?周一还是周日?周日到周六?周六到周五?或者完全是别的什么?
-
有趣。我刚刚在 PHP5.4 下运行它,'Mon this week' 获得了第 11 名,'this Mon' 获得了第 18 名。你运行的是什么版本的 PHP?
-
另外,我假设“一周”从星期日或星期一开始,因为 date() 格式为两者提供了选项
-
<?php echo date("Y-m-d", strtotime('last Mon',time())); ?>怎么样? -
当您使用 DateTime 对象时,它是否给出相同的错误日期?例如
$d=new DateTime('Mon this week'); echo $d->format('Y-m-d');