【发布时间】:2013-06-26 01:36:58
【问题描述】:
我正在尝试创建一个包含接下来 5 个工作日(周一至周五,不包括今天)的数组。我知道世界各地的工作时间各不相同,但这对我想做的事情并不重要。
因此,例如,如果今天是星期三,我想要本周的星期四和星期五以及下一周的星期一、星期二和星期三的日期。
我认为这会起作用:
$dates = array();
for ($i = 1; $ < 6; $i ++)
{
$dates[] = date('Y-m-d', strtotime('+ '.$i.' weekday'));
}
但是今天,它给了我:
- 星期一 1
- 2 号星期二
- 周三 3 日
- 星期四 4 日
- 7 号星期日!
任何建议表示赞赏。
谢谢
【问题讨论】:
-
星期五和星期六不见了,你在中东吗?
-
很奇怪...
strtotime('yesterday+ '.$i.' weekday')似乎为我修复了它(之后删除第一个元素)。那么一定是PHP中的一个错误...... -
似乎有很多关于在 PHP 中使用此函数的错误报告
#63521似乎是最新的。这里的答案可能有用http://stackoverflow.com/a/13131740/2310830,但基本上看起来您必须创建自己的代码才能正确执行此操作。