一、當前年
moment().format("YYYY") // 字符串 2020
moment().year() / moment().get('year') // 數字 2020
二、當前月
moment().format('MM') // 九月的話,會顯示 字符串 09
moment().month() / moment().get('month') // 九月的話,會顯示 數字 8
三、當前星期幾
moment().format('dddd') // 星期天的話,會顯示Sunday
moment().locale('zh-cn').format('dddd') // 星期天的話,中文顯示星期日
moment().day() / moment().get('day') // 星期天的話,會顯示 數字 0
moment().get('isoWeekday') // 星期天的話,會顯示 數字 7
四、當前幾號
moment().date() / moment().get('date') // 今天時27號,會顯示 數字 27
五、當前年月日
moment().format('YYYY-MM-DD') // 會顯示2020-09-27
moment().format('YYYY/MM/DD') // 會顯示2020/09/27
六、當前時分秒
moment().format('HH:mm:ss') // 會顯示24小時制的時間17:19:55
moment().format('hh:mm:ss') // 會顯示12小時制的時間05:19:55
七、當前月總天數
moment().daysInMonth() // 九月小,只有三十天,會顯示 數字 30
八、當前時間戳
moment().format('X') // 返回字符串,時間戳以秒為單位
moment().numx() // 返回 數字,時間戳以秒為單位
moment().format('x') // 返回字符串,時間戳以毫秒為單位
moment().valueOf('x') // 返回 數字,時間戳以毫秒為單位
九、當前年月日時分秒
moment().toArray() // 返回數組,[2020, 8, 27, 17, 40, 19, 364]
moment().toObject() // 返回對象,{date: 27, hours: 17, milliseconds: 364, minutes: 40, months: 8, seconds: 19, years: 2020}
十、設置時間
1、設置年份(月(month)、天(date)、星期(weekday/isoWeekday)、小時(hours)、分鍾(minutes)、秒(seconds)同理)
moment().year(2019) // 返回 Moment對象, 為2019年
moment().set('year', 2019)
moment().set({year: 2019})
moment().add(1, 'years') / moment().add({years: 1}) // 返回 Moment對象, 今年2020年,返回2021年
moment().subtract(1, 'years') / moment().subtract({years: 1}) // 返回 Moment對象, 今年2020年,返回2021年
十一、轉化為JavaScript 原生Date對象
moment().toDate()
new Date(moment())
十二、比較
moment().diff(Moment | String | Number | Date | Array)
十三、需要獲取任意一天的起始和結束時間,0點和23:59:59這兩個時間的時間戳
1、獲取任意一天的開始時間
// time為某一天的時間戳 startTime(time) { const timeDate = new Date(time) return timeDate.setHours(0, 0, 0, 0) }
2、 獲取任意一天的結束時間
endTime(time) { const timeDate = new Date(time) return timeDate.setHours(23, 59, 59, 999) }
3、時間格式化轉換實用方法
export const formatDate = (timestamp, fmt) => { if (timestamp === null) { return null } if (typeof (timestamp) === 'string' && !/^\d*$/.test(timestamp)) { let lastIndexOf = timestamp.lastIndexOf('.') if (lastIndexOf > 0) { // 去掉毫秒,不然轉成Date對象會報錯 timestamp = timestamp.substring(0, lastIndexOf) } timestamp = timestamp.replace(/-/g, '/') } let date = new Date(timestamp) let o = { 'M+': date.getMonth() + 1, // 月份 'd+': date.getDate(), // 日 'h+': date.getHours(), // 小時 'm+': date.getMinutes(), // 分 's+': date.getSeconds(), // 秒 'q+': Math.floor((date.getMonth() + 3) / 3), // 季度 'S': date.getMilliseconds() // 毫秒 }; let result = fmt; if (/(y+)/.test(result)) { result = result.replace(RegExp.$1, (date.getFullYear().toString()).substr(4 - RegExp.$1.length)); } for (let k in o) { if (new RegExp(`(${k})`).test(result)) { result = result.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(o[k].toString().length)); } } return result; }
//formatDate(new Date().setHours(0, 0, 0, 0), 'yyyy-MM-dd hh:mm')---》 當天0時0分的時間
//formatDate(new Date().setHours(23, 59, 59, 999), 'yyyy-MM-dd hh:mm')---》 當天23時59分的時間