我正在尝试让一个脚本工作,检查$acdate"是星期六还是星期日,如果是,它应该用一个新类更改当前类。但是由于某种原因,我没有让它工作,我已经尝试了不同的方法,寻找可能的答案来让它工作,但最终我不得不尝试你们,看看你是否有可能的问题解决方案行 caseclosure 返回一个 0-9 之间的值,如果您想知道这是我的代码
<?php
$acdate = 0;
while ($row = mysql_fetch_assoc($tccrequest))
{
$acdate = date('d-m-Y',time() + 86400 * $row['autoclosure']);
if($row['ac update']!=1){
if ($acdate <= date('d-m-Y')){
$warning= "warning2";
}
else if ($acdate == date('d-m-Y')+1){
$warning= "nextday";
}
else if ($acdate == strtotime('this Saturday')){
$warning= "warning2";
}
else if ($acdate == strtotime('this Sunday')){
$warning= "warning2";
}
else{
$warning="";
$disable = "disabled='"disabled'"";
}
}else{
$warning="updated";
//$disable = "disabled='"disabled'"";
}
?>
只需使用日期函数
$Datetime_acdate = strtotime(acdate);
//will return string 'Sat' or 'Sun' or 'Mon' etc
$DayofWeek = date('D', $Datetime_acdate );
if ($DayofWeek == 'Sat' or $DayofWeek == 'Sun'){
//do something.
}
您应该在快速拨号 php.net 上拥有日期功能页面!!
strtotime('this Saturday')
将返回与本周星期日对应的 Unix 时间戳。但是您的$acdate
变量是一个日期字符串,因此使用 strtotime()
进行比较将永远不起作用。在进行比较之前,您必须将日期转换为时间戳:
改变:
$acdate = date('d-m-Y',time() + 86400 * $row['autoclosure']);
自:
$acdate = time() + 86400 * $row['autoclosure'];
但是,如果您尝试检查日期是否是星期日(无论它落在哪一周),您可以简单地使用 l
格式(小写 L)':
$acdateTS = strtotime($acdate);
if(date('l', $acdateTS) == 'Sunday') {
// do something
}