Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的AM/PM比较_Php_Date_Datetime_Time_Comparison - Fatal编程技术网

PHP中的AM/PM比较

PHP中的AM/PM比较,php,date,datetime,time,comparison,Php,Date,Datetime,Time,Comparison,当比较这两个日期/时间时,它显示$end_时间大于$star_时间,而$star_时间实际上更大,因为晚上的时间大于早上的时间 为什么比较忽略了上午/下午 多谢各位 $star_time = "2015-05-15 09:30 PM"; $end_time = "2015-05-15 09:40 AM"; if($star\u time>$end\u time) echo$star_time.“>”$结束时间; 其他的 echo$star_time。“在此处比较两个空白字符串不会达到您预期的

当比较这两个日期/时间时,它显示$end_时间大于$star_时间,而$star_时间实际上更大,因为晚上的时间大于早上的时间

为什么比较忽略了上午/下午

多谢各位

$star_time = "2015-05-15 09:30 PM";
$end_time  = "2015-05-15 09:40 AM";
if($star\u time>$end\u time)
echo$star_time.“>”$结束时间;
其他的

echo$star_time。“在此处比较两个空白字符串不会达到您预期的效果,也不是比较两个日期的方式。因为如果您比较两个日期,那么如果您这样做:

if($star_time > $end_time)
echo $star_time .">". $end_time;
else
echo $star_time ."<". $end_time;
您将看到字符串被转换为哪个整数。这就是所有内容,直到一个非数值(在您的例子中是破折号:
-

表示您的情况如下:

echo $star_time + 0;  //2015
echo $end_time + 0;   //2015
2015年不比2015年大。所以你看:

1.这不是你想要的
2.这也不是你比较日期的方式,因为正如你所看到的那样,日期没有得到正确的比较

只需创建一个对象并比较两个日期的时间戳即可

if(2015 > 2015)

在此处比较两个空白字符串不会达到预期效果,也不是比较两个日期的方式。因为如果您比较两个日期,那么如果您这样做:

if($star_time > $end_time)
echo $star_time .">". $end_time;
else
echo $star_time ."<". $end_time;
您将看到字符串被转换为哪个整数。这就是所有内容,直到一个非数值(在您的例子中是破折号:
-

表示您的情况如下:

echo $star_time + 0;  //2015
echo $end_time + 0;   //2015
2015年不比2015年大。所以你看:

1.这不是你想要的
2.这也不是你比较日期的方式,因为正如你所看到的那样,日期没有得到正确的比较

只需创建一个对象并比较两个日期的时间戳即可

if(2015 > 2015)

您应该比较整数,而不是比较字符串

2015-05-15 09:30 PM > 2015-05-15 09:40 AM
if(strotime($star\u时间)>strotime($end\u时间)){
echo$star\u time.“>”$end\u time;
}
否则{

echo$star\u time.“您应该比较整数,而不是比较字符串

2015-05-15 09:30 PM > 2015-05-15 09:40 AM
if(strotime($star\u时间)>strotime($end\u时间)){
echo$star\u time.“>”$end\u time;
}
否则{

echo$star\u time。“您的变量是字符串,您正在使用
运算符进行比较

您需要将字符串转换为时间戳,然后进行比较


是您的朋友还是。

您的变量是字符串,您正在使用
运算符进行比较

您需要将字符串转换为时间戳,然后进行比较


是您的朋友还是。

您使用哪种代码来比较这两个日期?在我的问题中添加了比较代码,您应该改为使用
strotime
。看起来像您比较的两个字符串,要转换为日期对象,请参阅Dave Chen的注释您使用哪种代码来比较这两个日期?在我的问题中添加了比较代码,Thxy您应该改用
strotime
。看起来您正在比较两个字符串,若要转换为日期对象,请参阅Dave Chen的评论。请解释下一票,以便我可以改进我的答案。我不知道是谁给了您下一票,谢谢您的支持answer@user4907354不客气。(还扩展了我的解释,如果将它们作为普通字符串进行比较,实际会发生什么情况)感谢您的支持concern@user4907354我可以知道另一个答案中有什么比你接受的更好吗?请解释否决票,这样我可以改进我的答案。我不知道是谁给了你否决票,谢谢你的支持answer@user4907354不客气。(还扩展了我的解释,如果将它们作为普通字符串进行比较,实际会发生什么情况)感谢您的支持concern@user4907354我可以知道另一个答案中有什么比你接受的更好吗?