php - 比较 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”的任何帮助将不胜感激
解决方案
\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);
推荐阅读
- schema.org - 我应该将哪种 Schema.org 类型用于数字商品服务?
- c++ - 如何在 clion(bazel 项目)中设置 c++ 标准?
- java - Marshmallow 每次都要求存储许可,即使一旦给予
- android - androidx.constraintlayout.widget.ConstraintLayout:ProgressBar 不显示在 MaterialButton 上方
- python - 如何使用 Zipline 实施 24 小时交易日历。无法使用抽象方法实例化抽象类 {}
- jquery - jquery(#myModal).modal('show) 不工作
- reactjs - 反应useEffect钩子不调用模拟函数
- java - Java 8 UTF-16 不是默认字符集,而是 UTF-8
- c# - 无法从 .Core Web API 获取任何内容
- mongoose - mongoose 聚合中 $match 中的多个条件检查