【发布时间】:2012-12-18 19:19:03
【问题描述】:
我在创建日期算法(使用 DateTime 对象)时遇到困难,该算法检查日期是否位于两个给定月份之间(将年末视为 8 月 31 日)。
所以年初被认为是 9 月 1 日,XXXX,年底被认为是 8 月 31 日 XXXX+1
$today = new DateTime('now');
我需要查看日期是否在 6 月和 5 月之间。
例如,如果是 2009 年 12 月
日期是否在 2009 年 6 月和 2010 年 5 月之间? (是)
如果日期是 2014 年 4 月
日期是否在 2013 年 6 月和 2014 年 5 月之间? (是)
如果日期是 2014 年 7 月
日期在 2013 年 6 月和 2014 年 5 月之间。(否)
【问题讨论】:
-
你为什么不直接使用一个月的数字表示来比较呢?
-
@BryanAllo,所以问题是我还需要确定它是哪一年。如果日期为 2014 年 8 月 1 日,则为 2013-2014 年。如果日期为 2015 年 9 月 4 日,则为 2015-2016 年
-
为什么不转换为 UNIX 时间戳并进行比较?
-
@kylex - 是的。我的意思是基本上使用 date_add() 方法并将您的日期偏移 4 个月以使其与标准日历保持一致,然后进行比较/检查。