转载 

moment.js的使用、时间加减运算处理

分类:前端    652人阅读    IT小君  2022-06-13 22:33

时间处理其实还蛮麻烦的,但是用了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')

 

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

 工具推荐 更多»