moment
JavaScript 日期處理類庫
moment.js
主要用于處理時間,許多程序的第三方框架在一些時間處理上都會采用 moment.js
。
1. 使用
moment.js
在全局下以 moment
作為入口,提供了一系列時間相關(guān)的方法。
<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.27.0/moment.min.js"></script>
<script>
var now = moment().calendar();
console.log(now); // 輸出當前日歷時間
</script>
現(xiàn)在的相對時間差需求非常常見,如下單時間,是 多少分鐘前
,moment.js
提供了相對時間計算:
moment().startOf('hour').fromNow(); // 相對這個小時過去了多少分鐘
var timestamp = 1593933593236; // 2020年7曰5日下午15點20分38秒
moment(timestamp).fromNow(); // 相對時間戳多久前
2. 國際化
上述例子發(fā)現(xiàn)輸出的結(jié)果是英文的,顯然是不適合在國內(nèi)環(huán)境使用,moment.js
提供了國際化支持,在現(xiàn)有的庫中,moment 支持的語言可以說是相對完備了。
通過引入對應(yīng)的國際化資源(語言文件),來切換語言。
<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.27.0/moment.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.27.0/locale/zh-cn.min.js"></script>
<script>
var now = moment().calendar();
console.log(now);// 輸出當前日歷時間
moment().startOf('hour').fromNow(); // 相對這個小時過去了多少分鐘
var timestamp = 1593933593236; // 2020年7曰5日下午15點20分38秒
moment(timestamp).fromNow(); // 相對時間戳多久前
</script>
有關(guān)國際化的更多內(nèi)容可以參考文檔。
3. 小結(jié)
如果項目有大量處理時間的需求,可以考慮引入 moment.js
來處理。