2014-03-31 68 views
1

我以前搜索的方式從當前時間刪除了一個月,我想出了這條線:PHP的日期功能-1月號

date("Ym",strtotime("-1 month", mktime())); 

說實話,它的工作直到今天,3月31日2014年,在我的應用程序這兩個操作返回相同的值(201403):

date("Ym",strtotime("-0 month", mktime())); 
date("Ym",strtotime("-1 month", mktime())); 

誰能向我解釋爲什麼我有這樣的錯誤,我怎麼能解決這個問題? 謝謝。

+1

「一個月」是什麼意思?你會期待什麼結果? – deceze

+0

我想要做的是從我當前的日期中刪除1個月。這意味着,例如我們將在201402年3月和201401年2月時。 – Philibobby

+1

總是把你的日期重置爲本月的第一個月,然後再做這樣的數學運算 –

回答

2

通過在做數學之前在月的第一天設置日期非常重要!此操作允許將日期設置爲月份的第一個:date('01-m-Y')。這裏是問題的完整解決方案:

date("Ym", strtotime("-1 month", strtotime(date('01-m-Y')))) 
1
date(
    'Ym', 
    mktime(1,2,3,date('m')-1,date('d'),date('Y')) 
); 
+0

對我來說看起來很好,但我仍然有同樣的問題。不幸的日期('Ym',mktime(1,2,3,date('m') - 1,date('d'),date('Y')))== date('Ym',mktime(1 ,2,3-,日期( 'M') - 0,日期( 'D'),日期( 'Y'))) – Philibobby