时间处理其实还蛮麻烦的,但是用了moment.js之后,是真的强大
console.log(moment().format("YYYY-MM-DD HH:mm:ss")); //当前时间
console.log(moment().format("YYYY-MM-DD HH:mm:ss").set('hour', 18).set('minute', 0).set('second', 0)); //当前特定时间
console.log(moment().subtract(10, "days").format("YYYY-MM-DD")); //当前时间的前10天时间
console.log(moment().subtract(1, "years").format("YYYY-MM-DD")); //当前时间的前1年时间
console.log(moment().subtract(3, "months").format("YYYY-MM-DD")); //当前时间的前3个月时间
console.log(moment().subtract(1, "weeks").format("YYYY-MM-DD")); //当前时间的前一个星期时间
// 同理,之后的为add
console.log(moment().startOf('day').format("YYYY-MM-DD HH:mm:ss")) //当天开始时间
console.log(moment().startOf('week').format("YYYY-MM-DD HH:mm:ss")) //当周开始时间
console.log(moment().startOf('month').format("YYYY-MM-DD HH:mm:ss")) //当月开始时间
console.log(moment().startOf('year').format("YYYY-MM-DD HH:mm:ss")) //当年开始时间
// 同理,结束为endOf
moment().format('L'); -> 2015-04-06
moment().format('l'); -> 2015-04-06
moment().format('LL'); -> 2015年4月6日
moment().format('ll'); -> 2015年4月6日
moment().format('LLL'); -> 2015年4月6日下午3点55
moment().format('lll'); -> 2015年4月6日下午3点55
moment().format('LLLL'); -> 2015年4月6日星期一下午3点55
moment().format('llll'); -> 2015年4月6日星期一下午3点55
moment.locale('cn', {
weekdays : [
"星期天","星期一", "星期二", "星期三", "星期四", "星期五", "星期六",
]
});
// 获取两个时间段之间的月份
function calDiffMonths(StartDate, EndDate) {
let CurrentMonth = StartDate.startOf('month');
let Months = [];
while (CurrentMonth <= EndDate) {
Months.push(CurrentMonth.clone());
CurrentMonth = CurrentMonth.add(1, 'months');
}
return Months;
}
calDiffMonths(moment('2016-01-01'),moment('2019-01-01'))
calDiffMonths(moment('2016-01-01'),moment('2016-01-01'))
两个日期/时间的时差加减方法:
moment(endTime).diff(moment(startTime), 'years')
moment(endTime).diff(moment(startTime), 'months')
moment(endTime).diff(moment(startTime), 'days') // 开始时间和结束时间的时间差,以“天”为单位;endTime和startTime都是毫秒数
moment(endTime).diff(moment(startTime),'minutes' )
moment(endTime).diff(moment(startTime), 'seconds')