回答
檢查PHP的strtotime
功能全到你設定的日期/時間轉換爲時間戳:http://php.net/manual/en/function.strtotime.php
如果strtotime
不能正確處理您的日期/時間格式(「4:00 PM」可能會工作,但不會「在4PM「),你需要使用字符串函數,例如substr
解析/更正您的格式並通過另一個函數(例如, mktime
。
然後將得到的時間戳與當前日期/時間(if ($calulated_timestamp > time()) { /* date in the future */ }
)進行比較,以查看設置的日期/時間是過去還是未來。
我建議閱讀日期/時間函數上的PHP文檔,並在您遇到困難時返回一些源代碼。
由於PHP> = 5.2.0可以使用DateTime
類作爲這樣:
if (new DateTime() > new DateTime("2010-05-15 16:00:00")) {
# current time is greater than 2010-05-15 16:00:00 and thus in the past
}
傳遞給DateTime constructor的字符串進行解析according to these rules。
注意的是,還可以使用time
和strtotime
功能。 See original answer。
時間戳有一定的侷限性交配,一些bug太多,例如時間戳無法在1970年之前辦理的日期並在2038年後(見伊瓦爾科斯特的回答) – 2014-08-02 08:52:20
真棒的答案! :) – 2014-12-04 12:32:56
如果您使用的是UTC日期(如您應該那樣),我們經常會看到濫用新的DateTime()而不使用參數,更喜歡使用新的DateTime(「now」,new DateTimeZone('UTC'))。這將防止您的應用程序在日期中誤解錯誤。我建議你將它存儲在一個函數的靜態變量,一個類的靜態或在你的運行過程中的其他地方... – Loenix 2016-10-12 08:01:10
還有DateTime類,它爲比較運算符實現了一個函數。
// $now = new DateTime();
$dtA = new DateTime('05/14/2010 3:00PM');
$dtB = new DateTime('05/14/2010 4:00PM');
if ($dtA > $dtB) {
echo 'dtA > dtB';
}
else {
echo 'dtA <= dtB';
}
它實現的功能是什麼? – 2017-09-02 03:57:16
dateTime對象範圍從過去大約2920億年到未來相同。時間戳功能有一個限制(如果我沒有記錯,從1970年開始到2038年)。
我有這個日期進行比較的,需要一些調整問題
function getDatetimeNow() {
$tz_object = new DateTimeZone('Europe/Belgrade');
$datetime = new DateTime();
$datetime->setTimezone($tz_object);
return $datetime->format('Y\-m\-d\ h:i:s');
}
$currentDate = getDatetimeNow();
$dtA = new DateTime($currentDate);
$dtB = new DateTime($date);
if ($dtA > $dtB) {
$active = 0;
return $active;
}
else {
$active = 1;
return $active;
}
- 1. 檢查時區的日期是否通過當前時間
- 2. 如何檢查日期時間是否超過20秒
- 3. Javascript:如何檢查時間戳是否屬於當前日期?
- 4. 檢查日期時間字段是否通過當前時間戳
- 5. 檢查給定的日期時間是否在當前日期時間的範圍內(+/- 1小時)
- 6. 如何創建日期時間列表並檢查它是否與當前日期時間匹配,然後打印當前日期時間?
- 7. Java 8日期時間檢查期間是否包含特定日期
- 8. Moment.js檢查日期時間是否在一組日期和時間之間
- 9. 比較日期時間到MySQL中的當前日期時間?
- 10. MySQL日期時間和當前日期時間函數
- 11. 檢查時間(開始日期和結束日期)是否削減時間段
- 12. Cordova:Android設備當前日期/時間
- 13. 如何檢查給定的日期時間對象是否在兩個日期時間之間?
- 14. 檢查日期時間
- 15. 如何檢查日期時間列值等於當前日期在SQL條款
- 16. 日期時間檢查具體時間
- 17. jquery如何檢查日期是否小於當前日期
- 18. 如何檢查當前日期是否大於結束日期?
- 19. 如何檢查移動日期是否爲當前日期
- 20. 檢查日期時間輸入和數據庫日期時間
- 21. 檢查日期時間字符串是否包含時間
- 22. jQuery的 - 檢查當前日期和時間爲24小時選定的日期和時間
- 23. 如何自動獲取當前日期和時間到日期時間字段
- 24. 我如何保存當前日期/時間的軌道3日期時間列
- 25. 日期檢查通過的時間量
- 26. 如何在使用之前檢查日期時忽略時間(日期d)
- 27. 如何檢查日期是否在兩個日期之間mysql?
- 28. 如何檢查日期時間進入
- 29. 如何檢查日期時間爲空
- 30. 自定義日期時間,將當前日期添加30天
看到伊瓦爾·科斯特的回答 – 2014-08-02 08:53:48