簡體   English   中英

處理數據庫日期/時間轉換的“正確”方法是什么?

[英]What is the “correct” way for handling date/time conversions for database?

我有一個PHP網站,該網站以人類形式(例如2012-10-18或類似形式)從用戶那里獲取日期,並將其存儲在數據庫中。 它們在數據庫中存儲為unix時間戳。 我可以使用PHP函數進行轉換,而僅存儲/檢索時間戳,也可以使用SQL /數據庫函數在查詢中進行轉換,並存儲/檢索格式化的日期。
是否有理由更喜歡一種方法? 這些是更“正確的”(關注點分離等)之一嗎?

在數據庫中使用日期。 數據庫能夠進行偶數計算,因此沒有理由在您的PHP腳本中進行此類處理。 也許,如果您不想這樣做,可能是一個有效的參數,這是因為查詢中的邏輯使查詢變得更加復雜。

恕我直言,這兩種方法在性能方面沒有區別,但是使用PHP轉換/格式化sql-dates可以提供更簡潔的代碼和本地化功能。

我發現嘗試處理用戶時區在SQL中很復雜(至少在SQLite中,不確定其他數據庫的日期函數是否具有更好的時區支持),因此PHP似乎是處理此時區的更好位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM