[英]Php and mysql date and time
我是php的新手,我看到一些程序員通過php date()
或mysql NOW()
在數據庫中存儲了datetime或將列作為時間戳。 我想知道這三種格式之間的區別,以及如何將這三種格式轉換為世界各地的本地用戶。
timestamp
字段,而對datetime
字段的數量沒有限制。 onupdate current timestamp
或current timestamp
設置時間戳字段。這些字段類型不影響date insert method
。 date()
函數,則可以設置自己的日期格式。但是不能使用now()
對於日期格式,語法請檢查本文https://www.w3schools.com/php/func_date_date.asp
Finaly Datetime and timestamp
是mysql
date()和NOW() is php
有幾件事要考慮:
TIMESTAMP
列的日期限制為1931年到2038年之間,因為它們是32位時間戳記值 。 DATETIME
列最多可以設置為9999年。雖然它們不會像默認的TIMESTAMP
值那樣自動填充,但它們的限制較少,但每個表可以有盡可能多的列。 插入時間時,PHP時鍾和數據庫時鍾可能會略有不同。 使用NTP可以縮小差距,但是確實會發生漂移。 PHP的date()
函數需要格式化為ISO-8601格式才能插入( YYYY-MM-DD HH:MM:SS
)。 MySQL NOW()
函數與UTC_TIMESTAMP()
相同。
出於以下原因,我強烈建議您在數據庫中使用UTC時間:
因此,使用UTC進行存儲,並根據用戶的時區首選項或應用程序的某些合理默認值呈現為本地時間。 請記住,時間格式通常很麻煩,每個國家/地區都有不同的日期格式標准,甚至單個國家/地區都可能對長格式,短格式或數字格式有多種偏好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.