日期格式:
$date1 = '16-MAR-2015';
$date2 = '04-FEB-15';
如何检查
$date1 <= $date2 || $date1 => $date2
我需要转换中的日期格式吗
$date1 = '16-3-2015';
$date2 = '04-2-15';
使用strtotime()
:
<?php
$date1 = strtotime("16-MAR-2015");
$date2 = strtotime("04-FEB-15");
?>
和比较
试试这种方法,它是有效的。演示
$date1 = DateTime::createFromFormat('j-M-Y', '16-MAR-2015');
$date2 = DateTime::createFromFormat('j-M-y', '04-FEB-15');
$date1=$date1->format('Y-m-d');
$date2=$date2->format('Y-m-d');
var_dump($date1 <= $date2);
var_dump($date1 >= $date2);
您不需要用给定的格式转换任何内容,DateTime
将满足您的需要。
只需将它们转换为DateTime
对象并进行比较:
$date1 = '16-MAR-2015';
$date2 = '04-FEB-15';
$date1 = date_create($date1);
$date2 = date_create($date2);
// $date1 > $date2 -> true
// $date1 < $date2 -> false
或
if (date_create($date1) > date_create($date2)) {
// Use $date1 unchanged
}
首先,您需要将它们转换为DateTime对象。
演示
$date1 = '16-MAR-2015';
$date2 = '04-FEB-15';
$dateComp1 = new DateTime($date1);
$dateComp2 = new DateTime($date2);
然后你可以比较它们,DateTime
足够聪明,可以自动转换格式。
$myDateTime = DateTime::createFromFormat('Y-m-d', $dateString); $newDateString = $myDateTime->format('m/d/Y');
有一个神奇的函数叫做strtotime()
如果您需要以可读格式打印值,您可以使用函数DATE
date("d-m-Y h:i:s",$date1);
就你而言。你想使用
Date.parse()
尝试
date1= new DateTime();
date1= new Datetime->format('d-m-Y'); // this will print year 4 digits ie; 2017
date2= new DateTime();
date2= new DateTime->format('d-m-y'); //this will print 2 digit year ie; 17
// to compare
$differance=$date1->diff($date2);
echo $differance->format('d-m-y'); //or change to upper case Y for 4 digit year
注意。。。在mysql5.6中,似乎输入格式必须首先是Y
:如果您首先插入Y
-第一种格式,那么无论第二种格式是什么,它似乎都能正确比较。