我从excel文件中获取日期值,并将其更改为日期,如此
$dateEx = $sheet->getCellByColumnAndRow(2,$line)->getValue();
$date = date('Ymd',($dateEx - 25569)*24*60*60);
我还有另外两个从String转换为日期的日期时间
$dateOuverture = '20150306';
$dateFerm = '20150906';
$dateOuverture = new Datetime($dateOuverture);
$dateOuverture = $dateOuverture->format('Ymd');
$dateFerm = new Datetime($dateFerm);
$dateFerm = $dateFerm->format('Ymd');
当我想比较日期时,如果它不起作用
if($date<=$dateFerm && $date>=$dateOuverture){
echo "Im in the if";
}
我错了什么?
感谢您的帮助
答案 0 :(得分:1)
PHP日期函数接受时间戳作为第二个参数,没有ISO8601日期格式。 Strtotime确实接受了这一点,并返回一个有效的时间戳。将这两者结合起来:
$dateEx = $sheet->getCellByColumnAndRow(2,$line)->getValue();
$iso8601Date = ($dateEx - 25569)*24*60*60;
$date = new DateTime($iso8601Date);
有关日期格式的详情,请参阅this链接
比较DateTime对象
$dateOuverture = '20150306';
$dateFerm = '20150906';
$dateOuverture = new Datetime($dateOuverture);
$dateFerm = new Datetime($dateFerm);
if($date<=$dateFerm && $date>=$dateOuverture){
echo "Im in the if";
}