如題,我們今天繼續(xù)給大家介紹關(guān)于PHP日期時(shí)間的運(yùn)用,上篇文章是《PHP日期時(shí)間運(yùn)用三:檢查某個(gè)日期是不是有效》,感興趣的可以了解一下~
注意了,本文要介紹的兩個(gè)日期的時(shí)間差,是一個(gè)完整格式的日期,比如2020-06-01 02:12:50
,顯然要計(jì)算的時(shí)間都精確到秒了。
大家有沒有簡單的計(jì)算思路啊,其實(shí)也是非常簡單,一分鐘就能快速實(shí)現(xiàn)~
不廢話了,進(jìn)入主題!
首先老規(guī)矩,咱們直接創(chuàng)建一個(gè)PHP示例文件,輸入實(shí)現(xiàn)的代碼:
<?php $date1 = new DateTime('2020-06-01 02:12:50'); $date2 = $date1->diff(new DateTime('2022-05-22 11:10:00')); echo $date2->days.'總天數(shù)'."<br>"; echo $date2->y.' 年'."<br>"; echo $date2->m.' 月'."<br>"; echo $date2->d.' 日'."<br>"; echo $date2->h.' 時(shí)'."<br>"; echo $date2->i.' 分'."<br>"; echo $date2->s.' 秒'."<br>";
這里我們要計(jì)算的兩個(gè)日期分別是2020-06-01 02:12:50
和2022-05-22 11:10:00
。
然后我們來運(yùn)行一下該文件,查看輸出計(jì)算結(jié)果:
差值計(jì)算完成?。。?/p>
上述代碼中,想必大家都知道,我們是通過DateTimel類來實(shí)現(xiàn)的,其簡單的流程就是先new一個(gè)DateTime
對象,然后通過$date1->diff()
方式獲取兩個(gè)DateTime
對象的年月日、時(shí)分秒的差就可以啦。
那么關(guān)于DateTimel類的使用,有不清楚的地方,我們可以查看學(xué)習(xí)PHP官方手冊《DateTimel類》,或者查看文章《php中的datetime類怎么使用?php中datetime的用法介紹》。
附:
DateTime::add — 給一個(gè) DateTime 對象增加一定量的天,月,年,小時(shí),分鐘 以及秒。
DateTime::__construct — 返回一個(gè)新的 DateTime 對象
DateTime::createFromFormat — 根據(jù)給定的格式解析日期時(shí)間字符串
DateTime::getLastErrors — 獲取警告和錯(cuò)誤信息
DateTime::modify — 修改日期時(shí)間對象的值
DateTime::__set_state — __set_state 魔術(shù)方法處理函數(shù)
DateTime::setDate — 設(shè)置 DateTime 對象的日期
DateTime::setISODate — 設(shè)置 ISO 日期
DateTime::setTime — 設(shè)置 DateTime 對象的時(shí)間
DateTime::setTimestamp — 以 Unix 時(shí)間戳的方式設(shè)置 DateTime 對象
DateTime::setTimezone — 設(shè)置 DateTime 對象的時(shí)區(qū)
DateTime::sub — 對一個(gè) DateTime 對象減去一定量的 日、月、年、小時(shí)、分鐘和秒。