時間格式
在Javascript裡面的時間處理
參考:https://forum.stdb.org/t/topic/31049
在nodejs裡面使用時間
使用 moment.js
官網: https://momentjs.com
說明文件:Moment.js | Docs
文件重點:
安裝:
> npm i moment
若需要時區的功能,請使用 moment-timezone
安裝:
> npm i moment-timezone
moment-timezone
包含 moment.js
,並包含timezone功能。
網路上有人寫文章批評moment.js,認為太肥,效能不佳。所以有人也推薦使用另一個輕量級的日期處理套件 day.js
其實 day.js
就夠用了,但如果要用到時區,只能使用 moment-timezone.js
,因為處理時區比較複雜。
格式化時間輸出
修改 index.js
app.get('/try-moment', (req, res) => {
const fm = 'YYYY/MM/DD HH:mm:ss'
const m1 = moment(new Date()); //建立一個當下時間點的moment物件
const m2 = moment(req.session.cookie.expires);
const m3 = moment('2020-01-02', 'YYYY-MM-DD')
res.json({
m1: m1.format(fm),
m2: m2.format(fm),
m3: m3.format(fm),
m1a: m1.tz('Europ/London').format(fm),
m2a: m2.tz('Europ/London').format(fm),
m3a: m3.tz('Europ/London').format(fm),
})
});
實測結果:
網路上時區資訊:Time Zone Map
關鍵字:rimezone map
在 http://localhost:3000/try-session
可以看到session的cookie的過期時間,這個時間也是標準格式: