moment.js常用时间示例,时间管理

'今天': moment()
'昨天': moment().subtract(1, 'days')
'过去7天':moment().subtract(7, 'days'),moment()
'上月': moment().subtract(1, 'month').startOf('month') , moment().subtract(1, 'month').endOf('month')
'本月': moment().startOf('month') , moment()
'近三个月':moment().subtract(3, 'month').startOf('month')  ,  moment()
'今年':moment().startOf('year').startOf('month') , moment()
'去年': moment().subtract(1, 'year').startOf('year') , moment().subtract(1, 'year').endOf('year')
1
2
3
4
5
6
7
8

转换成时间戳

moment('2017-12-20', 'HH:mm').valueOf()
1

转成毫秒

moment(time).format('X')
1

格式化时间

moment('2017-12-20').format('YYYY/MM/DD')
1

计算周几

// 一个开始时间 (随意指定)
const currentTime = moment().format('YYYY-MM-DD')

// 求结束时间 (默认今天)
const endTime = moment().format('YYYY-MM-DD')

// 日期划分成每一天
const start_time = currentTime
const end_time = endTime
const bd = new Date(start_time); const be = new Date(end_time)
const bd_time = bd.getTime(); const be_time = be.getTime(); const time_diff = be_time - bd_time
const d_arr = []
for (var i = 0; i <= time_diff; i += 86400000) {
  const ds = new Date(bd_time + i)
  d_arr.push(moment(`${ds.getFullYear()}-${ds.getMonth() + 1}-${ds.getDate()}`, 'YYYY-MM-DD').format('YYYY-MM-DD'))
}

for (var i = 0; i < d_arr.length; i++) {

  // 算出每天周几
  const weekday = moment(d_arr[i]).weekday()
  let zhou = ''
  switch (weekday) {
    case 0:
      zhou = '周日'
      break
    case 1:
      zhou = '周一'
      break
    case 2:
      zhou = '周二'
      break
    case 3:
      zhou = '周三'
      break
    case 4:
      zhou = '周四'
      break
    case 5:
      zhou = '周五'
      break
    case 6:
      zhou = '周六'
      break
  }
}
console.log(d_arr)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47