2013-06-24 53 views
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脚本生成平日日期汽车的方式。

如果有人在过去看到这样做会很棒。

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

但想到我还是会问这个问题,因为我们有公众假期更平日:)

+1

在我的电话,以便不打算写任何代码。但看看PHP的DateTime对象。他们很聪明,可以知道一周中的哪一天。因此,您可以循环添加一天并检查是否是工作日。然后,您可以使用公共假期API交叉引用它。 – Sam

+0

不知道为什么这会被拒绝投票,因为这是一个重要的问题,对我或未来的其他人 – RussellHarrower

回答

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轻松遍历所有日子,然后查看周日。

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

//打印$天