JavaScript前端时间库moment.js

1、获取当前时间

moment().format("YYYY-MM-DD HH:mm:ss");
moment().format("YYYY-MM-DD");
moment().format("YYYY年MM月DD日HH时mm分ss秒");
moment().format("YYYY年MM月DD日");

2、获取前几天时间-时间加减-add和subtract

moment().subtract(3, "hours").format("YYYY-MM-DD"); //当前时间的前3个小时时间
moment().subtract(10, "days").format("YYYY-MM-DD"); //当前时间的前10天时间
moment().subtract(1, "years").format("YYYY-MM-DD"); //当前时间的前1年时间
moment().subtract(3, "months").format("YYYY-MM-DD"); //当前时间的前3个月时间
moment().add(3, "hours").format("YYYY-MM-DD"); //当前时间的后3个小时时间
moment().add(10, "days").format("YYYY-MM-DD"); //当前时间的后10天时间
moment().add(1, "years").format("YYYY-MM-DD"); //当前时间的后1年时间
moment().add(3, "months").format("YYYY-MM-DD"); //当前时间的后3个月时间

3、时间和字符串互转

moment("20111031", "YYYYMMDD").format('YYYY/MM/DD')
moment("2011-10-31").format('YYYY/MM/DD')//标准格式可以不用传格式
moment("2011-10-31").format('YYYY年MM月DD日')//标准格式可以不用传格式

4、时间的开始和最后-startOf和endOf

moment().startOf('day').format('YYYY-MM-DD HH:mm:ss') // 当天0点的时间格式 
moment().endOf('day').format('YYYY-MM-DD HH:mm:ss') // 当天23点59分59秒的时间格式 
moment(日期).startOf('month').format("YYYY-MM-DD")//某月第一天
moment(日期).endOf('month').format("YYYY-MM-DD")//某月最后一天
moment(日期).startOf('year').format("YYYY-MM-DD")//某年第一天
moment(日期).endOf('year').format("YYYY-MM-DD")//某年最后一天

5、时间戳--format('x')

时间转时间戳

moment('2020-06-30').startOf('day').format('X').unix()//大写X--返回10位时间戳-单位:秒

moment('2020-06-30').startOf('day').format('x').valueOf()//小写x--返回13位时间戳-单位:毫秒

时间戳转时间:

moment(parseInt(时间戳)).format(‘YYYY-MM-DD hh:mm:ss’);

6、单独获取年、月、日、时、分秒

moment().year()  
moment().get(‘year‘)
moment().month()  // (0~11, 0: January, 11: December)
moment().get(‘month‘)
moment().date()
moment().get(‘date‘)
moment().hours()
moment().get(‘hours‘)
moment().minutes()
moment().get(‘minutes‘)
moment().seconds()
moment().get(‘seconds‘)

获取一个星期中某一天

moment().day() // (0~6, 0: Sunday, 6: Saturday)
moment().weekday() // (0~6, 0: Sunday, 6: Saturday)
moment().isoWeekday() // (1~7, 1: Monday, 7: Sunday)
moment().get(‘day‘)
mment().get(‘weekday‘)
moment().get(‘isoWeekday‘)

7、比较2个时间差--diff

let start_date = moment().subtract(1, 'weeks')
let end_date = moment()
 
end_date.diff(start_date) // 返回毫秒数
end_date.diff(start_date, 'months') // 0
end_date.diff(start_date, 'weeks') // 1
end_date.diff(start_date, 'days') // 7
start_date.diff(end_date, 'days') // -7

8、其他方法使用-isBetween和isBefore

this.moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true
this.moment('2010-10-19').isBetween('2010-10-19', '2010-10-25'); // false
this.moment('2010-10-25').isBetween('2010-10-19', '2010-10-25'); // false
this.moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '()'); //false
this.moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '[)'); //true
this.moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '()'); //false
this.moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '(]'); //true
this.moment('2016-10-30').isBetween('2016-10-30', '2016-10-30', null, '[]'); //true
moment('2022-04-20').isBefore('2022-04-25');  // true  => 第一个日期在第二个日期前
moment('2022-04-28').isBefore('2022-04-25');  // false => 第一个日期不在第二个日期前
moment('2022-04-25').isBefore('2022-04-25');  // false => 两个日期相同
moment('2010-10-20').isBefore('2010-12-31', 'year'); // false
moment('2010-10-20').isBefore('2011-01-01', 'year'); // true

 

posted @ 2022-06-13 10:00  JackGIS  阅读(445)  评论(0编辑  收藏  举报