生成日期时如何排除周六和周日 [英] how can i exclude saturday and sunday when i generate dates
本文介绍了生成日期时如何排除周六和周日的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用我的代码生成日期,我想排除星期日和星期六,请在此处检查我的代码
I'm generating dates using my code I want to exclude sunday and saturday please check my code here
for ($date = $start_date; $date <= $end_date; $date = date('Y-m-d', strtotime($date . ' + 1 day'))) {
$week = date('W', strtotime($date));
$year = date('Y', strtotime($date));
$from = date("Y-m-d", strtotime("$date"));
if ($from < $start_date)
$from = $start_date;
$to = date("Y-m-d", strtotime("$date-1day + 1 week"));
if ($to > $end_date) {
$to = $end_date;
}
if ($from <= $to) {
array_push($weekfrom, $from);
array_push($weekto, $to);
}
$n = count($weekfrom);
for ($i = 0; $i < $n; $i++) {
echo $weekfrom[$i];
}}
推荐答案
只需将其添加到开头循环次数:
Just add this to beginning of your loop:
if(date("w", strtotime($date)) == 0 || date("w", strtotime($date)) == 6) continue;
就像这样:
for ($date = $start_date; $date <= $end_date; $date = date('Y-m-d', strtotime($date . ' + 1 day'))) {
if(date("w", strtotime($date)) == 0 || date("w", strtotime($date)) == 6) continue;
$week = date('W', strtotime($date));
$year = date('Y', strtotime($date));
$from = date("Y-m-d", strtotime("$date")); //Returns the date of monday in week
if ($from < $start_date)
$from = $start_date;
$to = date("Y-m-d", strtotime("$date-1day + 1 week")); //Returns the date of sunday in week
if ($to > $end_date) {
$to = $end_date;
}
if ($from <= $to) {
array_push($weekfrom, $from);
array_push($weekto, $to);
}
$n = count($weekfrom);
for ($i = 0; $i < $n; $i++) {
echo $weekfrom[$i];
}}
这篇关于生成日期时如何排除周六和周日的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文