Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一年中同一个月的日期?_Php - Fatal编程技术网

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格式