首页 > 解决方案 > 比较 dateTime 从现在到日期的格式(“2019-01-01 00:00:00.000”)

问题描述

我有一个来自数据库的日期,格式为 2019-06-20 00:00:00.000,我需要将其与现在的时间进行比较。(+ 7 天重置为午夜)具体如下:

if ($databasedatetime > $now){
}
else {}

到目前为止,我已经这样做了:

$now = new DateTime();
$now->format('Y-m-d H:i:s'); 
$now->getTimestamp();
$now->modify('midnight');
$now->modify('+7 day');

但是当它试图比较时,无论它是真是假,我总是会出错。所以他们没有正确比较。

我现在的功能显然需要修改以将其设置为"2019-01-01 00:00:00.000"格式。就像现在它打印出来的2019-01-15 00:00:00.000000","timezone_type":3,"timezone":"Europe\/London一样

将我的 $now 变量转换为“2019-01-01 00:00:00.000”的任何帮助将不胜感激

标签: phpdatetime

解决方案


\DateTime 有一个方法 createFromFormat:http: //php.net/manual/en/datetime.createfromformat.php

<?php
$date = \DateTime::createFromFormat("Y-m-d H:i:s.u", "2019-06-20 00:00:00.000");
$now = new \DateTime();
var_dump($date,$now);
var_dump($date > $now);

推荐阅读