好的,目前我正在手工做这个
$days= array('2013-06-03','2013-06-04','2013-06-05','2013-06-06','2013-06-07','2013-06-11','2013-06-12','2013-06-13','2013-06-14','2013-06-17','2013-06-18','2013-06-19','2013-06-20','2013-06-21','2013-06-24','2013-06-25','2013-06-26','2013-06-27','2013-06-28',);
但我想将其转移到汽车方式,用户选择月份,PHP脚本生成工作日日期。
如果有人在过去看到这样做会很棒。
我仍然需要找到不包括公众假期(根据澳大利亚墨尔本公众假期)。
但我想仍然会问这个问题,因为我们平日比公众假期更多:)
答案 0 :(得分:0)
函数strftime
将时间戳转换为工作日的名称,格式为“%A”。
http://php.net/manual/en/function.strftime.php
$timestamp=mktime(0, 0, 0, 6, 3, 2013);
$day=strftime("%A", $timestamp);
此代码后, $day
将包含"Monday"
。现在,您可以使用mktime
轻松遍历所有日期,然后检查工作日。
答案 1 :(得分:0)
$month = 10;
for ($i = 1; $i <= 31; $i++) {
$timestamp = mktime(0, 0, 0, $month, $i, 2012);
if (date("n", $timestamp) == $month) {
$day = date("N", $timestamp);
if ($day == 1 OR $day <= 5) {
$days[$day][] = date("D", $timestamp);
}
}
}
// print $ days