如何获得星期几和时间的下一个日期

时间:2019-01-15 11:16:39

标签: php date time weekday

我想按星期几和时间获得下一次课的日期。例如,所有课程都在周二和周六晚上10:45举行 所以我想显示从当前日期/时间开始的下一堂课的日期。

我没有时间就能得到。但是,如果今天是星期二下午4点,上课是星期二晚上10:45,那应该告诉我今天的日期,而不是星期六,因为今天之后的下一堂课是星期六。

我尝试了一段时间的测试代码,但是没有用。

$nextTuesday = strtotime('next tuesday 10:59PM');
echo date('Y-m-d', $nextTuesday);

如果我给时间,那是行不通的。

随着时间的推移,如果日期相同且时间未过去,则应显示当前日期。

1 个答案:

答案 0 :(得分:0)

好的,我用我的逻辑解决了这个问题。

    date_default_timezone_set("ET");
    $currentday=date('Y-m-d H:i:s');
    $currentdayW=date("l", strtotime($currentday));



    if (($currentdayW=="Tuesday") ||($currentdayW=="Friday"))
    {
    $chktime = date('Y-m-d 21:00:00');
    if ($chktime > $currentday) { $drawdate =  $chktime;}

    }

    if ((($currentdayW=="Tuesday") && ($chktime < $currentday)) || 
     ($currentdayW=="Wednesday") || ($currentdayW=="Thursday"))
    {
    $drawdate = strtotime('next friday');
    $drawdate=date('Y-m-d 21:00:00', $drawdate);
    }
    if ((($currentdayW=="Friday") && ($chktime < $currentday)) || 
    ($currentdayW=="Saturday") || ($currentdayW=="Sunday") || 
    ($currentdayW=="Monday"))
    {
     $drawdate = strtotime('next tuesday');
     $drawdate=date('Y-m-d 21:00:00', $drawdate);

     }

     echo $drawdate;