注意了,本文要介绍的两个日期的时间差,是一个完整格式的日期,比如2020-06-01 02:12:50
,显然要计算的时间都精确到秒了。
大家有没有简单的计算思路啊,其实也是非常简单,一分钟就能快速实现~
不废话了,进入主题!
首先老规矩,咱们直接创建一个PHP示例文件,输入实现的代码:
<?PHP $date1 = new DateTime('2020-06-01 02:12:50'); $date2 = $date1->diff(new DateTime('2022-05-22 11:10:00')); echo $date2->days.'总天数'.<br>; echo $date2->y.' 年'.<br>; echo $date2->m.' 月'.<br>; echo $date2->d.' 日'.<br>; echo $date2->h.' 时'.<br>; echo $date2->i.' 分'.<br>; echo $date2->s.' 秒'.<br>;
这里我们要计算的两个日期分别是2020-06-01 02:12:50
和2022-05-22 11:10:00
。
差值计算完成!!!
上述代码中,想必大家都知道,我们是通过DateTimel类来实现的,其简单的流程就是先new一个DateTime
对象,然后通过$date1->diff()
方式获取两个DateTime
对象的年月日、时分秒的差就可以啦。
那么关于DateTimel类的使用,有不清楚的地方,我们可以查看学习PHP官方手册《DateTimel类》,或者查看文章《php中的datetime类怎么使用?php中datetime的用法介绍》。
附:
DateTime::add — 给一个 DateTime 对象增加一定量的天,月,年,小时,分钟 以及秒。
DateTime::__construct — 返回一个新的 DateTime 对象
DateTime::createFromFormat — 根据给定的格式解析日期时间字符串
DateTime::getLastErrors — 获取警告和错误信息
DateTime::modify — 修改日期时间对象的值
DateTime::__set_state — __set_state 魔术方法处理函数
DateTime::setDate — 设置 DateTime 对象的日期
DateTime::setISODate — 设置 ISO 日期
DateTime::setTime — 设置 DateTime 对象的时间
DateTime::setTimestamp — 以 Unix 时间戳的方式设置 DateTime 对象
DateTime::setTimezone — 设置 DateTime 对象的时区
DateTime::sub — 对一个 DateTime 对象减去一定量的 日、月、年、小时、分钟和秒。