Moment.js經常使用API速查

平常開發常常會用Moment.js來處理時間,現對頻繁使用的幾個API作下整理,以便往後查閱。javascript

獲取時間

moment().valueOf()  // 獲取時間戳(以毫秒爲單位) 

moment().startOf('day')   // 獲取今天0時0分0秒
moment().startOf('isoWeek')  // 獲取本週週一0時0分0秒
moment().startOf('month')  // 獲取本月第一天0時0分0秒

moment().endOf('day')   // 獲取今天23時59分59秒
moment().endOf('isoWeek')  // 獲取本週週日23時59分59秒
moment().endOf('month')   // 獲取本月最後一天23時59分59秒

moment().year()       //   獲取當前年份
moment().month()   //   獲取當前月( 0~11, 0 =>1月, 11=>12月)
moment().date()     //  獲取今天
moment().day()      // 獲取當前星期 (0~6, 0: 週日, 6: 週六)

moment().daysInMonth()  // 獲取本月的總天數

moment().month(moment().month() - 1).startOf('month').valueOf()   //  上個月1號的00:00:00
moment().month(moment().month() - 1).endOf('month').valueOf()    //  上個月最後一天的23:59:59

moment().month(moment().month() - 1).startOf('month').valueOf()   //  上個季度第一個月1號的00:00:00
moment().month(moment().month() - 1).endOf('month').valueOf()    //  上個季度最後一個月最後一天的23:59:59

格式化時間

moment().format('YYYY-MM-DD')
moment().format('hh:mm:ss a')    //  格式化時分秒(12小時制)
moment().format('x')    // 格式化時間戳(以毫秒爲單位)

轉化爲JS原生Date對象

moment().toDate()
new Date(moment())

設置時間

moment().year(2019)       //   設置年
moment().month(9)   //   設置月( 0~11, 0 =>1月, 11=>12月)
moment().date(2)     //  設置日期
moment().isoWeekday(1) // 設置日期爲本週週一

moment().add(1, 'years')    //  設置下一年
moment().add(1, 'months')   // 設置下一月
moment().add(1, 'days')    //  設置下一天
moment().add(1, 'weeks')    //  設置下一週

moment().subtract(1, 'years')    //  設置上一年
moment().subtract(1, 'months')   // 設置上一月
moment().subtract(1, 'days')    //  設置上一天
moment().subtract(1, 'weeks')    //  設置上一週

比較時間

let startDate = moment().subtract(1, 'weeks')
let endDate = moment()
endDate.diff(startDate)     // 返回毫秒數
 
endDate.diff(startDate, 'months')     // 0
endDate.diff(startDate, 'weeks')      // 1
endDate.diff(startDate, 'days')       // 7
startDate.diff(endDate, 'days')      // -7
相關文章
相關標籤/搜索