[英]What datatype should I use to store long encrypted messages on MySQL?
[英]What datatype should I use to store time() in MySQL for my application?
我計划在php中使用time()來捕獲我網站上用戶發起的活動的開始和結束。 我不確定這是否是捕獲開始/結束時間的最佳方式。 無論如何,數據將存儲在MySQL中,但我不知道我應該使用哪種數據類型。 根據我在stackoverflow上讀到的答案,使用的數據類型取決於應用程序的用途。
申請目的
更多信息如果重復某項活動,將為其創建一條新記錄。 記錄不會更新。
起初,我曾計划在MySQL中存儲unix時間戳(作為整數數據類型?),但據我所知這是一個壞主意,因為我將失去很多MySQL處理信息的能力。 如果我將信息存儲為DATETIME,但隨后移動服務器,則所有時間都將根據服務器的本地時間而改變。 我發現令人困惑的是,MySQL中的TIMESTAMP與unix時間戳不同 - 如果我使用time(),這將是我得到的。
我知道unix時間戳只能保存一些系統的日期,但這不是一個問題(目前)。
問題:我應該使用time()來捕獲用戶啟動的活動的開始和結束時間嗎? 根據應用程序的目的, what datatype should I use to store the start and stop of user initiated activities?
謝謝
感謝大家的答案。 TBH我還不確定,所以我還在做一些研究。 我選擇了TIMESTAMPS選項,因為我真的想用UTC(GMT)存儲我的信息。 遺憾的是,我將失去一些內置時間函數的MySQL。 無論如何,再次感謝您的回答。
使用DATETIME存儲時間和使用date('Ymd H:i:s')
以獲取存儲它的當前時間。 獲取此值時,您將獲得此格式的時間。
要將其轉換為時間戳,請使用$timestamp=strtotime($fetchedValue)
以另一種格式顯示此使用date('H:i',$timestamp)
。 閱讀php日期手冊中的格式
TIMESTAMP只能在1970年1月1日之后存儲值,因為它存儲時區數據。 因此,如果您嘗試在1970年1月1日之前存儲日期,則最好使用DATETIME。
坦率地說,只有當您在具有不同時區的兩台計算機之間主動同步原始數據時,TIMESTAMP才有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.