1

使用以下 if 语句我试图检查一周中的哪一天是星期五

if(($uur < 12) && ($min < 30) && ($datum == date('Y-m-d', strtotime('Friday'))))
{  
  $proceed = FALSE;  
  $errorWoensdagVrijdag = "<div id='row_form_dropdown'>Error Message</div>";  
}

使用表格插入日期。一切都检查得很好,当我在 22 日星期五 12:30 之前尝试选择日期和时间时,我会收到一条错误消息。但是如果我在 27 日星期五检查它,它会顺利通过,不会有任何并发​​症。

我在这里有点茫然,因为对我来说它似乎应该只是工作。我已经看到一些关于 PHP 版本的评论,我正在运行 PHP 版本 5.2.9。

任何愿意提供帮助的人都非常受欢迎。

4

2 回答 2

2

这是因为strtotime('Friday')意思是“本周星期五”。

你应该使用:

if(date('N', $timestamp) == 5)
{
    // Friday!
}
else
{
    // Not Friday :-(
}

我猜在你的情况下,用户输入的日期是 in $datum。您的if声明将变为:

if(($uur < 12) && ($min < 30) && (date('N', strtotime($datum)) == 5))
{
    $proceed = FALSE;
    // Etc..
}

有关使用的更多信息date('N', $timestamp),请参阅: http: //php.net/manual/en/function.date.php

于 2010-10-21T08:28:10.627 回答
1

新理念

$timestamp=mktime(0, 0, 0, 10, 21, 2010);
$today = getdate($timestamp);
echo $today["weekday"];

OLD IDEA 另一种方法是:

  <?php
     $h = mktime(0, 0, 0, 10, 31, 2008);
     $d = date("F dS, Y", $h) ;
     $w= date("l", $h) ;
//     Echo "$d is on a $w";

if($w=="Friday"){
echo "Yes";
}
     ?>

整篇文章: http: //php.about.com/od/finishedphp1/qt/dayoftheweek.htm

其中 10,31,2008 是您的日期。

于 2010-10-21T08:32:19.713 回答