Php 一年中同一个月的日期?
我有两个Php 一年中同一个月的日期?,php,Php,我有两个DateTime对象,我想检查它们是否在一年中的同一个月内(例如,它们都在1999年3月)。还有比这更好的方法吗 $d1->format('Y-n') == $d2->format('Y-n') 从日期开始的第一个月 $date_format($date,"m"); 然后比较两者。 如果您愿意,您还可以使用 date_format($date,"Y/m"); 使用差分函数 date_diff($d1,$d2); 但是你使用的方法是正确的,你的方法有什么“感觉不对劲”?
DateTime
对象,我想检查它们是否在一年中的同一个月内(例如,它们都在1999年3月)。还有比这更好的方法吗
$d1->format('Y-n') == $d2->format('Y-n')
从日期开始的第一个月
$date_format($date,"m");
然后比较两者。
如果您愿意,您还可以使用
date_format($date,"Y/m");
使用差分函数
date_diff($d1,$d2);
但是你使用的方法是正确的,你的方法有什么“感觉不对劲”?对我来说,这似乎是一个非常可靠的解决方案。你在寻找一个数学解决方案吗?它可能比您现在拥有的稍长一点。您不可能仅用两个整数(时间戳)就可以实现这一点,因此您需要一些东西来解释它们。我不确定从DateTime中是否可以得到月份和年份作为整数,但我怀疑如果比较两对整数或比较2个7个字符的字符串会有什么不同。我觉得比较对象的字符串表示法是错误的。比较这些对象的
getMonth()
和getYear()
值会让我感觉更好,但是根据,没有这样的方法。我想你在第一个方法中指的是date\u格式,而不是$date\u格式