我試圖做的strtotime日期將其轉換成:的strtotime()爲大於2038年
date('Y-m-d', strtotime("10-12-2072"));
,但它不工作正確的,因爲我已經閱讀php.net的Unix時間戳是從1970年開始,它將在2038年結束,那麼我可以如何使用我的上述代碼? 有什麼建議嗎?
我試圖做的strtotime日期將其轉換成:的strtotime()爲大於2038年
date('Y-m-d', strtotime("10-12-2072"));
,但它不工作正確的,因爲我已經閱讀php.net的Unix時間戳是從1970年開始,它將在2038年結束,那麼我可以如何使用我的上述代碼? 有什麼建議嗎?
從DataTime類,在DateTime類中使用date_parse/date_parse_from_format。以下是示例代碼片段。
<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>
使用DateTime()
。它會在2038年以上。一旦你得到的日期和時間在一起,你可以分開吧:
$datetime = "2012-10-19 18:19:56";
$Date = explode(" ",$datetime);
$date = $Date[0];
$time = $Date[1];
現在你只能有日期。
祝你好運!
將字符串解析爲DateTime()
構造函數,然後進行相應的格式化。 這裏不需要任何額外的解析邏輯。 如果這仍然不起作用,那麼檢查您是否運行64位系統。
$dateTime = new DateTime('10-12-2072');
$datetime->format('Y-m-d');
您可能需要查看[Wikipedia link](https://en.wikipedia.org/wiki/Year_2038_problem)它的頁面上有解決方案部分! –
這是我們不斷告訴人們切換到DateTime對象的原因之一,這些對象的日期範圍可以讓宇宙學家和古生物學家滿意(+/- 293億年)....或者至少切換到64位操作系統和64位PHP –
更好地使用php DateTime對象,可以處理各種日期類型,並且可以安全地在2038以後使用。文檔和示例在http://php.net/manual/en/class.datetime .php – maxhb