Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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 如果日期时间的格式不同,请检查哪个日期时间较早_Php_Date_Datetime - Fatal编程技术网

Php 如果日期时间的格式不同,请检查哪个日期时间较早

Php 如果日期时间的格式不同,请检查哪个日期时间较早,php,date,datetime,Php,Date,Datetime,如果有不同的格式,如何检查哪个日期较旧,例如: $date1 = "2018-05-09 12:31:51"; // "Y-m-d H:i:s" format $date2 = "06/09/2018"; // "d/m/Y" format 这里很方便 试试这个: $date1 = "2018-05-09 12:31:51"; // "Y-m-d H:i:s" format $date2 = "06/09/2018"; // "d/m/Y" format $objDateA = DateTi

如果有不同的格式,如何检查哪个日期较旧,例如:

$date1 = "2018-05-09 12:31:51"; // "Y-m-d H:i:s" format
$date2 = "06/09/2018"; // "d/m/Y" format
这里很方便

试试这个:

$date1 = "2018-05-09 12:31:51"; // "Y-m-d H:i:s" format
$date2 = "06/09/2018"; // "d/m/Y" format

$objDateA = DateTime::createFromFormat('Y-m-d H:i:s', $date1);
$objDateB = DateTime::createFromFormat('d/m/Y', $date2);


if ($objDateA < $objDateB)
{
    ...
}
$date1=“2018-05-09 12:31:51”//“Y-m-d H:i:s”格式
$date2=“2018年9月6日”;//“d/m/Y”格式
$objDateA=DateTime::createFromFormat('Y-m-dh:i:s',$date1);
$objDateB=DateTime::createFromFormat('d/m/Y',$date2);
如果($objDateA<$objDateB)
{
...
}

最简单的方法是使用名为Carbon的库。()

您可以这样做:

use Carbon\Carbon;
$date1 = "2018-05-09 12:31:51";
$date1 = Carbon::createFromFormat('Y-d-m H:i:s', $date1);

$date2 = "06/09/2018"; // "d/m/Y" format
$date2 = Carbon::createFromFormat('d-m-Y', $date2);

if ($date1 < $date2) {
     echo "Date 1 is older than Date 2";
else {
     echo "Date 1 is newer than Date 2";
}
使用碳\碳;
$date1=“2018-05-09 12:31:51”;
$date1=Carbon::createFromFormat('Y-d-m H:i:s',$date1);
$date2=“2018年9月6日”;//“d/m/Y”格式
$date2=Carbon::createFromFormat('d-m-Y',$date2);
如果($date1<$date2){
回显“日期1早于日期2”;
否则{
回显“日期1比日期2新”;
}
试试这个

$date1_dt = new DateTime($date1);
$date2_dt = new DateTime($date2);

if ($date1_dt > $date2_dt) 
 { /* Do something */ }
DateTime解析器可能不支持日期字符串,因此您可以像这样初始化日期

$date1_dt = DateTime::createFromFormat('Y-m-d H:i:s', $date1);
$date2_dt = DateTime::createFromFormat('d/m/Y', $date2);

 if ($date1_dt > $date2_dt) 
 { /* Do something */ }

时间重要吗?因为
2018-05-09 12:00:00
2018-05-09 13:00:00
之前,但有相同的日期。您可以假设
$date2
中的时间变量等于
00:00:00
我应该将
$date1
$date2
变量放在哪里?我已经更新了我的答案如何使
$date2
对于相同的格式,变量具有相同的
$date1
H:i:s
?如果您想要相同的时间
$objDateB->设置时间($objDateA->格式('H'),$objDateA->格式('i'),$objDateA->格式('s'),请执行此
回显$objDateB->格式('i'),$objDateA->格式('s'));
您使用的整个API都是从PHP的DateTime类继承而来的,因此在这种情况下更简单的方法是不使用Carbon。我推荐使用这个库,因为它有一些有用的方法来处理日期。