moment.js时间操作

一、引入

import moment from 'moment'

二、使用

console.log(moment().format("YYYY-MM-DD HH:mm:ss")); //当前时间 (24小时制)
 
 
console.log(moment().add(1, "hours").format("YYYY-MM-DD HH:mm:ss"));    //当前时间增加1小时
console.log(moment().add(1, "months").format("YYYY-MM-DD HH:mm:ss"));    //当前时间增加1个月
 
console.log(moment().subtract(10, "days").format("YYYY-MM-DD HH:mm:ss"));    //当前时间的前10天时间 
console.log(moment().subtract(1, "years").format("YYYY-MM-DD HH:mm:ss"));    //当前时间的前1年时间 
console.log(moment().subtract(3, "months").format("YYYY-MM-DD HH:mm:ss"));   //当前时间的前3个月时间 
console.log(moment().subtract(1, "weeks").format("YYYY-MM-DD HH:mm:ss"));    //当前时间的前一个星期时间

三、两个日期/时间的时差: 



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')


console.log(moment(endDate).diff(moment(startDate), 'days'))//查看时间差

四、成生成时间列表

    _getTimeList () {//生成时间列表
      const temp = moment(this.searchParams.endDate).diff(moment(this.searchParams.startDate), 'days')
      console.log('时间相差天数:', temp)//查看时间间隔
      if (temp == 0) {//相差0天,生成24小时列表
        const t = moment('00', 'HH')//生成00
        this.TIMEList.push(t.format('HH'))//压进去
        for (let i = 0; i < 23; i++) {//每次增加一小时
          this.TIMEList.push(t.add(1, 'hours').format('HH'))
        }
      } else {
        const t = moment(this.searchParams.startDate)//生成开始日期
        this.TIMEList.push(t.format('YYYY-MM-DD'))
        for (let i = 0; i < temp; i++) {//每次增加一天
          this.TIMEList.push(t.add(1, 'days').format('YYYY-MM-DD'))
        }
      }
      // console.log('TIMEList', this.TIMEList)//查看时间列表
    },

 五、获取月份和星期枚举列表

moment.months()
 
# ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
 
moment.monthsShort()
# ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
 
moment.weekdays()
# ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
 
moment.weekdaysMin()
# ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]

 六、获取时间

# 获取今天0时0分0秒
moment().startOf('day')
 
# 获取本周第一天(周日)0时0分0秒
moment().startOf('week')
 
# 获取本周周一0时0分0秒
moment().startOf('isoWeek')
 
# 获取当前月第一天0时0分0秒
moment().startOf('month')
 
# 获取指定日期的0时0分0秒
moment('2019-10-20').startOf('day')
 
# 获取今天23时59分59秒
moment().endOf('day')
 
# 获取本周最后一天(周六)23时59分59秒
moment().endOf('week')
 
# 获取本周周日23时59分59秒
moment().endOf('isoWeek')
 
# 获取当前月最后一天23时59分59秒
moment().endOf('month')

标准化返回一个时间 

    changeDate (time) {
      const d = (new Date(time))
      const datetime = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate()
      return datetime
    },

 七、一些小常识

格式代码说明
M数字表示的月份,没有前导0
MM数字表示的月份,有前导0
MMM三个字母缩写表示的月份
MMMM月份,完整的文本格式
Q季度
D月份中的第几天,没有前导0
DD月份中的第几天,有前导0
d星期天的第几天,数字表示
ddd三个字母表示星期中的第几天
dddd星期几,完整的星期文本
w年份中的第几周
YYYY四位数字完整表示的年份
YY两位数表示的年份
A大写的AM PM
a小写的am pm
HH小时,24小时制,有前导零
H小时,24小时制,无前导零
hh小时,12小时制,有前导零
h小时,12小时制,无前导零
m没有前导零的分钟数
mm有前导零的分钟数
s没有前导零的秒数
ss有前导零的描述
XUnix时间戳

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值