PHP strtotime()與時區的問題

先看手冊上的定義

本函數預期接受一個包含美國英語日期格式的字符串並嘗試將其解析爲 Unix 時間戳

本函數將使用 TZ 環境變量(如果有的話)來計算時間戳。


一般情況下時間拾綴獲得的時間拾基於當前電腦所在時區獲得的,若要將前端傳遞過來的數據和存入到數據庫中的數據保存一致,就需要後端在接收到數據後,將時區調整成和前端一致後再存入到數據庫

舉個例子:

如果前端傳過來的時間是$time = '2018-06-08 12:15:30'

如果想要存進數據是按int類型存儲,那麼就需要用到strotime(),

正確的操作應該是這樣的,

date_default_timezone_set('PRC');

$time = strtotime($time);


這只是一種思路,可能業務場景不同,處理的方式也不同。最重要的一點要記住,strotime()是使用TZ 環境變量(如果有的話)來計算時間戳


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章