2014-02-13 61 views
0

在閱讀PHP手冊,我得到了一個「注」有一個非常貧窮的解釋的strtotime()函數 - 這樣說:使用strtotime()進行數學運算不可取?

注:
使用此功能的數學運算是不可取。最好在PHP 5.3及更高版本中使用DateTime :: add()和DateTime :: sub(),或者在PHP 5.2中使用DateTime :: modify()。

什麼意思是「數學運算」?
......當然我知道一般的數學運算是什麼,但是在什麼情況下這意味着什麼呢?

爲什麼它不是「可取的」?

任何人都可以告訴我一個「不可取」的使用示例,並解釋爲什麼?

謝謝。

+3

您可以添加和減去日期以獲取日期間隔。 DateTime對此更好,因爲它將閏年和夏令時等因素考慮在內。 –

+0

@JohnConde做出答案! –

+0

@JohannesH。好的,我做到了。 :) –

回答

4

您可以添加和減去日期以獲取日期間隔。 DateTime對此更好,因爲它會考慮閏年和夏令時等問題,而您必須使用strtotime()進行手動。

+0

'strtotime()'不考慮閏年? –

+0

它只是一個開發者可能不會。因此,如果他們開始使用時間戳,他們可能忘記考慮一個閏年,並在一天之內關閉。 –

+0

不要忘了夏令時,閏秒或任何其他更正。其中一些是由linux時間戳(閏年)反映的,有些不是(夏令時),有些是在中間(閏秒 - 時間戳恰好在閏秒之後,但不在此期間)。真的,你不想自己編程。 –