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 有前导零的描述
X Unix时间戳

猜你喜欢

转载自blog.csdn.net/Vivien_CC/article/details/127084146
今日推荐