1 2 3 4 5 6
| npm install moment --save # npm yarn add moment # Yarn Install-Package Moment.js # NuGet spm install moment --save # spm meteor add momentjs:moment # meteor bower install moment --save # bower (deprecated)
|
Unix 轉換
format格式化
如何使用引入:import moment from ‘moment’,與時間轉換:moment(‘timestamp值’).format(‘YYYY-MM-DDTHH:mm:ss.SSS’);
1 2 3 4 5 6 7 8 9 10 11 12
| //引入 import moment from 'moment'; //目前時間搓 const TimeStamp = moment().valueOf() console.log('TimeStamp', TimeStamp); //目前時間搓 const nowTimeStamp = Date.now(); console.log('nowTimeStamp', nowTimeStamp); const nowTime = moment(nowTimeStamp).format('YYYY-MM-DDTHH:mm:ss.SSS'); console.log('現在時間', nowTime); console.log('現在時間格式化',moment().format());
|
moment(‘要驗證的日期’).isBetween(‘起始日’, ‘截止日’);
使用情境:驗證是否有在一段時間以內或是在截止日以前
1 2 3
| moment('2023-03-29').isBetween('2023-03-01', '2023-03-29'); // true
moment('2023-04-29').isBetween('2023-03-01', '2023-03-29'); // false
|
相對時間:
距離現在幾個月:moment(“20221031”, “YYYYMMDD”).fromNow()
moment(“20221031”, “YYYYMMDD”).fromNow();
解釋:距離現在幾個月
距離開始小時:moment().startOf(‘day’).fromNow()
moment().startOf(‘day’).fromNow();
解釋:距離今天開始時間
距離結束小時:moment().endOf(‘day’).fromNow()
moment().startOf(‘day’).fromNow();
解釋:距離今天結束時間
距離小時結束分鐘:moment().startOf(‘hour’).fromNow();
解釋:距離小時結束分鐘
1 2 3 4 5 6 7
| console.log('現在時間:', moment().format());//2023-01-07T13:44:41+08:00 console.log('20221031距離現在:', moment("20221031", "YYYYMMDD").fromNow());//2 months ago console.log('20230620距離現在:', moment("20230620", "YYYYMMDD").fromNow());//in 5 months console.log('距離今天開始小時startOf('day'):', moment().startOf('day').fromNow());//14 hours ago console.log('距離今天結束時間endOf('day'):', moment().endOf('day').fromNow());//in 10 hours console.log('距離小時結束分鐘startOf('hour'):',moment().startOf('hour').fromNow())//37 minutes ago
|
運算
增加天數變換日期:moment().add(天數, ‘days’).calendar();
現在的日期加上七天
1
| moment().add(7, 'days').calendar();//01/14/2023
|
減去天數變換日期:moment().subtract (天數, ‘days’).calendar();
現在的日期減去七天
1
| moment().subtract(7, 'days').calendar(); //12/31/2022
|
###距離今天還有幾天: from & to:不會有負值 例如:-1,-2
1 2 3 4 5
| const a = moment([2023, 0, 1]); const b = moment([2023, 0, 12]); const c = moment([2023, 0, 20]); console.log('距離', a.from(b),'天'); console.log('距離', a.to(c), '天');
|
查詢
isBefore 是用來查詢是否在早於後面的時間
1 2
| moment('2023-10-20').isBefore('2023-10-21') // true moment('2023-10-20').isBefore('2023-12-31', 'year') // false
|
isSame 是用來查詢是否和後面的時間相等
1 2
| moment('2022-10-20').isSame('2023-12-31', 'year') // false moment('2023-10-20').isSame('2023-01-01', 'year') // true
|
isAfter 是用來查詢是否和晚於後面的時間
1 2
| moment('2022-10-20').isAfter('2023-10-19') // true moment('2010-10-20').isAfter('2010-01-01', 'year') // false
|
isSame 是用來查詢是否在設定的時間範圍內
1 2
| moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
|
更換語言
1 2 3
| moment.locale('zh-tw', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), }
|