php获取12个月前的日期,PHP 1901年12月13日之前的日期的32位日期解析
我很高興在開發機器上使用strtotime()來解析日期,其中一些是在1800年代,而一個極端的例子是在1500年代.
但是我的開發機器是64位,服務器是32位.在32位計算機上,1901年12月13日星期五之前的任意日期UTC超出范圍(請參閱strtotime注釋).
我很樂意為此編寫一些自定義代碼,但以為我會問是否有任何php內置函數可以管理此代碼.日期采用ISO 8601格式.
對于什么是值得的服務器是帶有PHP 5.2.10的centos 5.4
解決方法:
1901-12-12T05:00:00Z for example
我目前無法對其進行測試,但是DateTime‘s constructor可以接受您的格式而無需createFromFormat.我真的不能從文檔中看出來.
嘗試
try {
$date = new DateTime('1901-12-12T05:00:00Z');
} catch (Exception $e) {
echo "Arggh! ".$e->getMessage();
die();
}
echo $date->format('Y-m-d H:i:s');
并查看會發生什么,請特別注意它是否正確理解Z(即使其成為UTC時間).
DateTime在任何系統上內部都使用64位數字,并且沒有范圍限制.
如前所述,從5.3開始,您將能夠使用createFromFormat來解析由date()的占位符之一表示的任何日期.這是最佳方法,因為您強迫它解析特定的模式,而不是猜測它.
標簽:32-bit,datetime,php
來源: https://codeday.me/bug/20191208/2092155.html
總結
以上是生活随笔為你收集整理的php获取12个月前的日期,PHP 1901年12月13日之前的日期的32位日期解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GeoJSON简述
- 下一篇: 动态规划算法php,php算法学习之动态