我試圖找到退休日期從58歲加入日期在PHP中。我試圖找到退休日期從58歲在加入日期在php
$retire_date = date('Y-m-d', strtotime($joining_date. '+58 years'));
它顯示1970-01-01,可以到「40年」它顯示correctly.can任何有助於發現時間戳的這一個
我試圖找到退休日期從58歲加入日期在PHP中。我試圖找到退休日期從58歲在加入日期在php
$retire_date = date('Y-m-d', strtotime($joining_date. '+58 years'));
它顯示1970-01-01,可以到「40年」它顯示correctly.can任何有助於發現時間戳的這一個
有效範圍通常是從週五,13 Dec 1901 20:45:54 UTC到2038年1月19日星期三03:14:07 UTC。 (這些是與32位有符號整數的最小值和最大值對應的日期。)另外,並非所有平臺都支持負時間戳,因此您的日期範圍可能不會早於Unix時期。這意味着例如1970年1月1日之前的日期不適用於Windows,某些Linux發行版和其他一些操作系統。雖然PHP 5.1.0和更新版本克服了這個限制。
對於64位版本的PHP,時間戳的有效範圍實際上是無限的,因爲64位可以代表任何方向大約2930億年。
如果年份編號以兩位數格式指定,則00-69之間的值將映射到2000-2069和70-99至1970-1999。請參閱以下注釋,瞭解32位系統上可能存在的差異(可能的日期可能會在2038-01-19 03:14:07結束)。
除了autista_z的回答, 您可以在此stumple如果使用不正確的日期格式或類似這樣的
東西下面的例子
$joining_date = "1976-14-02";
$timeToAdd = "+ 58 years";
$objDateTime = DateTime::createFromFormat("Y-m-d",$joining_date);
$objDateTime->modify($timeToAdd);
echo "My Retire Date is ".$objDateTime->format("Y-m-d")."<br />";
$retire_date = date('Y-m-d', strtotime($joining_date.$timeToAdd));
echo $retire_date;
die;
這導致用的strtotime到結果像1970-01-01。
這也是爲什麼我更喜歡日期時間函數createFromFormat
,如果你知道你的格式,因爲結果是絕對可預測的。
(你會看到這個格外例子 - 日期時間試圖找到一個正確的值,並把它解釋爲1977年2月2日)
雖然它並沒有真正解釋爲什麼40年會的工作,但也許你用不同的數據來測試它。
我認爲這會對你有用。 $retire_date = date('Y-m-d', strtotime('+58 years', strtotime($joining_date)));
$retire_date = date('Y-m-d', strtotime('+58 years', strtotime($joining_date)));
正確答案
請分享'$ joining_date' –
詳細解釋你所面對 –
我已經解決了它是什麼的問題,如果你感興趣,看看我的代碼,請回復我將張貼代碼謝謝你爲你的貢獻朋友 –