我正在使用unix時間戳作爲我在日期範圍查詢中使用的起始日期的基礎。開始日期不是問題,就本例而言,我將使用以下時間戳:1228089600(2008年12月1日00:00:00)。PHP - date()減少bug?
對於我的查詢中使用我所需要的任何給定月份的最後一天,很容易找出到最後一秒所以..
date('o-m-d G:i:s',mktime(0, 0, -1, date("m",1228089600)+1, 1, date("o",1228089600)));
這種方法已經工作正常,我每隔一個月除12月..通過開始日期,增加整個月份(2009年1月1日00:00:00),然後帶走1秒我期待導致我需要的日期(2008年12月31日23時59分59秒)。然而,看起來今年的計算是正確的額外的一個月,但不是減去秒,因爲返回的日期是2009年12月31日23時59分59秒。
正如我所說,這種方法一直很好,直到我發現這個問題。但這是一個問題,我無法找出原因或簡單的解決方案..
任何幫助,非常感謝。