問題描述
我們應用程序中的日期格式 (Date format in our Application)
誰能告訴我在我的數據庫中存儲日期的正確格式是什麼。
假設如果客戶端和服務器在同一個區域,我們可以使用 unix紀元時間戳或日期字符串。但是如果服務器在美國而客戶端來自亞洲,我知道有人說 UTC 會自動轉換特定地區的日期。但我無法通過 Node js 將 UTC 存儲在 MongoDB 中,也許我用了錯誤的方式。
.currently 我存儲 "09‑02‑2021" 的日期和 1612837056077 時間戳。我也從前端得到時間。另外,我不確定上述事情。有人可以解釋在現實世界的應用程序中使用日期和時間的正確方法嗎?如果可能的話,給我看一個 node js 和 mongoose 的快速演示
<參考解法
方法 1:
UTC is the way to go. I don't know what you mean by "But I cannot store UTC in MongoDB via Node js". Create your schema like so:
const client_schema = new mongoose.Schema({
...
...
date_created: {type: Date, default: Date.now},
...
...
});
And date_created
will always be stored in UTC format. From UTC, you can convert it to any timezone. Here is just one example, using moment, of how to convert UTC to a Eastern Timezone:
const d = moment(utc_date).utcOffset(moment(utc_date).tz("America/New_York").format('Z'), true).toDate();
Note: moment
is being phased out and is no longer recommended for new projects.
(by Jaga、codemonkey)