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