如何比较两个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