在PHP中使用strottime()比较两个日期
我有两个变量,其中包含格式中的日期字符串在PHP中使用strottime()比较两个日期,php,date,strtotime,Php,Date,Strtotime,我有两个变量,其中包含格式中的日期字符串 $four_days_have_passed = "07-14-2013"; $now = "07-10-2013"; 我已经检查了FireHP中的输出,日期是正确的 然后我试着这样比较它们 if (strtotime($now) < strtotime($four_days_have_passed)) { Do Stuff } if(strotime($now)
$four_days_have_passed = "07-14-2013";
$now = "07-10-2013";
我已经检查了FireHP中的输出,日期是正确的
然后我试着这样比较它们
if (strtotime($now) < strtotime($four_days_have_passed))
{
Do Stuff
}
if(strotime($now)
为什么IF语句中的代码永远不会执行?格式(这样使用时)是DD-MM-YYYY。没有第14个月。如果要使用MM/DD/YYYY格式,则需要分隔符
$four_days_have_passed = "07/14/2013";
$now = "07/10/2013";
:-
通过查看各个组件之间的分隔符,可以消除m/d/y或d-m-y格式的日期歧义:如果分隔符是斜杠(/),则假定为美式m/d/y;而如果分隔符是破折号(-)或点(.),则假定为欧洲d-m-y格式
我看到你们接受了答案,但只是为了确保你们理解。有两种情况下会解析日期
“07-14-2013”
,并且一年中没有14个月
适合您的格式如下所示:
-欧洲14-07-2013
-欧洲14.07.2013
-美国07/14/2013
此外,为了比较数据时间,最好使用面向对象的解决方案和数据时间对象。您可以阅读更多内容使用
yyyy-mm-dd
格式处理strotime()
函数是最简单的方法。这是db date中的正常格式。如果您使用此格式,将有助于轻松比较两个日期。在欧洲,尤其是在法国,
我们还将此格式与斜杠分隔符一起使用:
day/month/year
法国日期的示例:2019年8月26日我强制格式为
$now=date('m-d-Y',strottime($getCurrentDate.+0天”)$四天过去=日期('m-d-Y',标准时间('getRepDate.+4天”)代码>@David Folksman:不,你没有strotime
不希望它是美国格式。因此我为什么使用m-d-y格式,我不明白你的答案?@David Folksman:strotime
接受日期为YYYY-MM-DD
(首选)或DD-MM-YYYY
格式。就这样。这里有更多被接受的格式:在这里工作<代码>日期默认时区设置(“欧洲/伦敦”);$getCurrentDate=str_replace(“/”、“-”、$”请求[“日期])$四天过去=日期('m-d-Y',标准时间('getCurrentDate.+4天”);$now=日期('m-d-Y',标准时间($rep1.+0天”);回音四天过去了;回声“
”$now;如果($now<$four-days\u已经过去){echo“
booya”}
他不需要/
他需要正确的格式。他也可以使用14-07-2013
:)欢迎使用SO。为了让你的答案真正有用,你应该添加一个小例子。