我有一个日期输入javascript,可以让用户一次向数据库中添加尽可能多的日期,这是使用内爆并存储为一个大字符串,如2015-01-01 2015-01-02等。
我还想知道其中一天是否包含周末。我不知道字符串和日期参数是如何与此匹配的。
$week_end_check = array();
$week_end_check = implode(' ',date('D'), strtotime($_POST['dates']));
if ((strpos($week_end_check,'Sun')) || (strpos($week_end_check,'Sat' ))) {
$weekend = '1';
}
据我所知,上面的方法行不通,但有人能帮我吗……我希望你能通过上面的方法理解我在追求什么。
这里有一种不那么做作的方法:
$weekend = false;
foreach($_POST['dates'] as $date) {
$day = (new DateTime($date))->format('D');
if (in_array($day, array('Sun', 'Sat'))) {
$weekend = true;
break;
}
}
- 默认情况下,将
$weekend
设置为false
- 循环浏览每个日期
- 获取星期几
- 检查它是"太阳"还是"周六"
- 将
$weekend
设置为true
- 一旦我们知道找到了周末,就结束循环
请使用此示例。
$string = "2015-01-01 2015-01-02 2015-01-04 2015-01-06";
$array = explode(" ",$string);
$weekend_array = array();
$total = count($array);
for($i=0;$i<$count;$i++)
{
$my_day = date("D", strtotime($array[$i]));
if($my_day=="Sun" || $my_day=="Sat")
{
$weekend_array[] = $array[$i];
}
}
echo "<pre>";
print_r($weekend_array);
echo "<pre>";