moment获取时间常用写法

154 阅读2分钟
  1. 使用moment获取今天

moment格式:

const start = moment().startOf('day');
const end = moment().endOf('day');

日期格式:

const start = moment().startOf('day').format('YYYY-MM-DD');
const end = moment().endOf('day').format('YYYY-MM-DD');

2. 使用moment获取昨天

moment格式:

const start = moment().subtract(1, 'day').startOf('day');
const end = moment().subtract(1, 'day').endOf('day');

日期格式:

const start = moment().subtract(1, 'day').startOf('day').format('YYYY-MM-DD');
const end = moment().subtract(1, 'day').endOf('day').format('YYYY-MM-DD');

3. 使用moment获取本周

moment格式:

const start = moment().startOf('week').add(1, 'day');
const end = moment().endOf('week').add(1, 'day');

日期格式:

const start = moment().startOf('week').add(1, 'day').format('YYYY-MM-DD');
const end = moment().endOf('week').add(1, 'day').format('YYYY-MM-DD');

4. 使用moment获取过去七天

moment格式:

const start = moment().subtract(7, 'day').startOf('day');
const end = moment().subtract(1, 'day').endOf('day');

日期格式:

const start = moment().subtract(7, 'day').startOf('day').format('YYYY-MM-DD');
const end = moment().subtract(1, 'day').endOf('day').format('YYYY-MM-DD');

5. 使用moment获取当月

moment格式:

const start = moment().startOf('month');
const end = moment().endOf('month');

日期格式:

const start = moment().startOf('month').format('YYYY-MM-DD');
const end = moment().endOf('month').format('YYYY-MM-DD');

6. 使用moment获取过去30天

moment格式:

const start = moment().subtract(30, 'day').startOf('day');
const end = moment().subtract(1, 'day').endOf('day');

日期格式:

const start = moment().subtract(30, 'day').startOf('day').format('YYYY-MM-DD');
const end = moment().subtract(1, 'day').endOf('day').format('YYYY-MM-DD');

7. 使用moment获取前三个月

moment格式:

const start = moment().subtract(3, 'month');
const end = moment().subtract(1, 'day').endOf('day');

日期格式:

const start = moment().subtract(3, 'month').format('YYYY-MM-DD');
const end = moment().subtract(1, 'day').endOf('day').format('YYYY-MM-DD');

8. 时间相等比较

const format = 'MM/D/YYYY'
const moment1 = moment('04/28/20',format);
const moment2 = moment('04/28/20',format);
moment1.isSame(moment2,'day') // true
moment1.isSame(moment2,'date') // true

9. 时间大小比较

const format = 'HH:mm:ss MM/D/YYYY'
const startTime= moment('16:24:33 04/28/20',format);
const endTime = moment('20:24:33 04/28/20',format);

const diff1 = moment(endTime).diff(moment(startTime), 'years')
const diff2 = moment(endTime).diff(moment(startTime), 'months')
const diff3 = moment(endTime).diff(moment(startTime), 'days')    
const diff4 = moment(endTime).diff(moment(startTime), 'minutes' )
const diff5 = moment(endTime).diff(moment(startTime), 'seconds')
// 得到的数字 判断正负即可   (存在 diff = 0 的情况  即为第一条时间相等的情况)