PHP:两个相同的日期语句,但其中一个星期的某一天是错误的
我编写了以下代码:PHP:两个相同的日期语句,但其中一个星期的某一天是错误的,php,Php,我编写了以下代码: if(!is_null($customDate)){ $referenceDate = strtotime($customDate); $toDay = date("N", $referenceDate); echo("/".$referenceDate."/".$toDay."/"); } else{ $referenceDate = strtotime(date("d:m:y")); $toDay = date("N");
if(!is_null($customDate)){
$referenceDate = strtotime($customDate);
$toDay = date("N", $referenceDate);
echo("/".$referenceDate."/".$toDay."/");
}
else{
$referenceDate = strtotime(date("d:m:y"));
$toDay = date("N");
echo("/".$referenceDate."/".$toDay."/");
}
如果我提供$customDate,如:
功能名称(“24:07:17”)
它打印出这个:
/1500941237/2/
一张邮戳(我猜)和两张作为星期二
如果我不提供$customDate并调用函数为:
函数名称()
我明白了:
/1500941237/1/
这又是一张邮戳(我猜),一周中的一天是星期一
第二个是正确的,是24号,星期一
我对PHP非常陌生,所以我几乎100%确定在我所做的日期操作方面存在一些细微差别,但我不确定它是什么
两枚相同的邮戳如何产生不同的星期几
使用默认配置在Windows 10上的WAMP服务器上运行它
全功能:
function nextDate($customDate=null){
$referenceDate;
$toDay;
if(!is_null($customDate)){
$referenceDate = strtotime($customDate);
$toDay = date("N", $referenceDate);
echo("/".$referenceDate."/".$toDay."/");
}
else{
$referenceDate = strtotime(date("d:m:y"));
$toDay = date("N");
echo("/".$referenceDate."/".$toDay."/");
}
}
下一天(“24:07:17”);-->给出错误的结果,它说24号是星期二
nextDate();-->给出正确的结果,它说24号是星期一
这是因为
24:07:17
不是有效的日期格式,PHP认为这是一个时间,所以“今天24:07:17”
使用有效的日期格式或将其转换为正确理解的内容strotime
:
list($d,$m,$y) = explode(":", "24:07:17");
$referenceDate = strtotime("20{$y}-{$m}-{$d}");
你能给我们看一下处理事后日期的代码吗?@GrumpyCrouton没有事后日期处理,我只是从函数外部调用nextDate()。我已经运行了你的代码在线编辑器,我没有看到任何问题。在这两种情况下都会显示相同的结果。所以它是一个分隔符:“问题还是日|月|年序列?@iAmTheGuy96两者都有<代码>日期(“Y-m-d”,标准时间(“01-03-17”)代码>是2001年3月。我们在计算机中使用Y-M-D有很多原因,谢谢,这就解释了。它现在工作得很好。我不知道D:M:Y和Y-M-D之间有这么大的区别
list($d,$m,$y) = explode(":", "24:07:17");
$referenceDate = strtotime("20{$y}-{$m}-{$d}");