如何生成 Y-m-d 格式的工作日数组?
How to generate an array of weekdays in Y-m-d format?
数组 $weekDays
包含从今天开始的 7 天。
2017-06-01/ 2017-06-02 / 2017-06-03 / 2017-06-04 / 2017-06-05 / 2017-06-06 / 2017-06-07
$weekDays[0] = date('Y-m-d');
for ($i=1; $i<7; $i++){
$weekDays[$i] = date('Y-m-d', strtotime('+' . $i . ' days'));
}
我只需要工作日,所以我尝试了这个:
for ($j=0; $j < 7; $j++) {
$weekDays[$j] = strtotime($weekDays[$j]);
$weekday = date('w', $weekDays[$j]);
if ($weekday == 0 || $weekday == 6) {
echo "Saturday or Sunday<br>";
} else {
echo $weekday . "<br>";
}
}
但我想 return 仅包含工作日且采用 Y-m-d
格式的数组。
提前致谢!
您离获得解决方案又近了一步,您可以使用 unset 从数组中删除非工作日:
for ($j=0; $j < 7; $j++)
{
$weekDays[$j] = strtotime($weekDays[$j]);
$weekday = date('w', $weekDays[$j]);
if ($weekday == 0 || $weekday == 6)
{
unset($weekDays[$j]);
}
}
$weekDays = array_values($weekDays); //reorder after all unsets
strtotime()
很聪明,你可以只在 return 个工作日问它。
for($d=0; $d<5; ++$d){
$result[]=date('Y-m-d',strtotime("+$d weekdays"));
}
var_export($result);
不需要 post 循环过滤。
输出:
array (
0 => '2017-06-01',
1 => '2017-06-02',
2 => '2017-06-05',
3 => '2017-06-06',
4 => '2017-06-07',
)
数组 $weekDays
包含从今天开始的 7 天。
2017-06-01/ 2017-06-02 / 2017-06-03 / 2017-06-04 / 2017-06-05 / 2017-06-06 / 2017-06-07
$weekDays[0] = date('Y-m-d');
for ($i=1; $i<7; $i++){
$weekDays[$i] = date('Y-m-d', strtotime('+' . $i . ' days'));
}
我只需要工作日,所以我尝试了这个:
for ($j=0; $j < 7; $j++) {
$weekDays[$j] = strtotime($weekDays[$j]);
$weekday = date('w', $weekDays[$j]);
if ($weekday == 0 || $weekday == 6) {
echo "Saturday or Sunday<br>";
} else {
echo $weekday . "<br>";
}
}
但我想 return 仅包含工作日且采用 Y-m-d
格式的数组。
提前致谢!
您离获得解决方案又近了一步,您可以使用 unset 从数组中删除非工作日:
for ($j=0; $j < 7; $j++)
{
$weekDays[$j] = strtotime($weekDays[$j]);
$weekday = date('w', $weekDays[$j]);
if ($weekday == 0 || $weekday == 6)
{
unset($weekDays[$j]);
}
}
$weekDays = array_values($weekDays); //reorder after all unsets
strtotime()
很聪明,你可以只在 return 个工作日问它。
for($d=0; $d<5; ++$d){
$result[]=date('Y-m-d',strtotime("+$d weekdays"));
}
var_export($result);
不需要 post 循环过滤。
输出:
array (
0 => '2017-06-01',
1 => '2017-06-02',
2 => '2017-06-05',
3 => '2017-06-06',
4 => '2017-06-07',
)