如何比較兩個DateTime對象是否具有相同的日期,月份和年份? 問題是他們有不同的小時/分鐘/秒。PHP DateTime平等
3
A
回答
2
沒有用DateTime對象做這件事的好方法。所以你不得不這樣做,讓我們說,不是很好的東西。
$nDate1 = clone $date1;
$nDate2 = clone $date2;
//We convert both to UTC to avoid any potential problems.
$utc = new DateTimeZone('UTC');
$nDate1->setTimezone($utc);
$nDate2->setTimezone($utc);
//We get rid of the time, and just keep the date part.
$nDate1->setTime(0, 0, 0);
$nDate2->setTime(0, 0, 0);
if ($nDate1 == $nDate2) {
//It's the same day
}
這會起作用,但就像我說的那樣,它不好。
在附註中,最近的經驗告訴我它總是最好的以確保兩個日期都在同一個時區,所以我添加了代碼以防萬一。
-1
if(date('dmY', $date1) == date('dmY', $date2))
你可以把它放在一個函數...
function compare_dates($date1, $date2){
if(date('dmY', $date1) == date('dmY', $date2))
return true ;
return false ;
}
是最有用的;)
+0
Date期望第二個參數是一個整數,所以這不起作用,因爲$ date1和$ date2是DateTime對象。 $ date-> getTimestamp()解決了這個問題。 – 2012-02-21 12:48:01
0
如何:
$date1->format('Ymd') == $date2->format('Ymd');
:WQ
相關問題
- 1. LINQ表達式爲DateTime的平等可空問題
- 2. 平等
- 3. 平等
- 4. 嵌套對象的PHP對象平等
- 5. 比較float2s的平等/不平等
- 6. PHP/CakePHP datetime compare
- 7. PHP DateTime :: createFromFormat behaviiur
- 8. 平等屬性
- 9. 平等測試
- 10. 平等樣
- 11. 平等對象
- 12. 混淆平等
- 13. 長型平等
- 14. GADT和平等
- 15. 強平等
- 16. 測試平等
- 17. GetHashCode平等
- 18. datetime函數在php
- 19. PHP的DateTime明年
- 20. php DateTime createFromFormat功能
- 21. 平等變量 - 批
- 22. Hector組件平等
- 23. .NET對象平等
- 24. 謂詞不平等
- 25. 21變不平等
- 26. 雙打和平等
- 27. C#平等檢查
- 28. SQL平等字母
- 29. java.lang.Class中和平等
- 30. JavaScript中的平等
OK,請不要再收到選票。 OP澄清了無論何時都要比較兩個日期的要求。對不起,疏忽了。 – BoltClock 2010-09-02 19:37:34