0

好的,所以目前我正在手动执行此操作

$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 脚本生成工作日日期的汽车方式。

如果有人在过去能做到这一点,那就太好了。

我仍然需要设法不包括公共假期(基于墨尔本澳大利亚公共假期)。

但是我想我还是会问这个问题,因为我们的工作日比公共假期多:)

4

2 回答 2

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);
        }
    }
}

//打印$天

于 2013-06-24T12:48:30.287 回答
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然后检查工作日。

于 2013-06-24T04:35:27.567 回答