moment的高频用法总结

简介: 用法总结指定语言;不然可能引起一些不必要的bug。

用法总结
指定语言;不然可能引起一些不必要的bug。


记得指定为对应的语言;

moment.locale('zh-cn');

获取时间戳

精确到毫秒


moment().valueOf()


1584182611042 ;返回值为数值类型


moment().format('x')


返回值为字符串类型


精确到秒



moment().unix()

1584182618 精确到秒  返回值为数值类型


moment().format('X')


返回值为字符串类型


生成指定时间的moment


moment("1995-12-25");


带格式



解析器会忽略非字母和数字的字符,因此以下两个都将会返回相同的东西。


moment("12-25-1995", "MM-DD-YYYY");
moment("12/25/1995", "MM-DD-YYYY");


获取对象


moment().toObject();


返回一个包括:年、月、日、时、分、秒、毫秒的对象


{
years: 2020
months: 2
date: 14
hours: 18
minutes: 47
seconds: 56
milliseconds: 526
}


格式化


moment().format();

2020-03-14T19:14:05+08:00


moment().format('YYYY-MM-DD HH:mm:ss');


2020-03-14 19:23:29


获取时间


获取今天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')

获取当月第一天是星期几


用于设置星期几,其中星期日为 0、星期六为 6


moment().startOf('month').day()

获取前n天 / 后n天


moment().add(7, 'days');
moment().subtract(7, 'days')

比较两个时间的大小


第二个参数用于确定精度,且不仅仅是要检查的单个值,因此使用 day 将会检查年份、月份、日期。


moment('2010-10-31').isBefore('2010-12-31', 'day');

true


moment('2010-10-20').isBefore('2010-12-31', 'year');


false


moment('2010-10-20').isAfter('2009-12-31', 'year');

true


moment('2010-10-20').isSame('2009-12-31', 'year');


判断两个时间是否相等



需要注意的是, isBefore与isAfter 都是开区间,如果想使用闭区间,应使用


isSameOrBefore
isSameOrAfter

两个时间的相差几天


moment([2008, 2, 27]).diff([2007, 0, 28], 'day');

424


是否是闰年


moment().isLeapYear();


true


moment([2001]).isLeapYear()

false


获取 月份和星期 枚举列表


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"]


克隆


所有的 moment 都是可变的。 调用任何一种操作方法都会改变原始的 moment。 如果要创建副本并对其进行操作,则应在操作 moment 之前使用 moment#clone。


在 moment 上调用 moment() 将会克隆它。


var a = moment([2012]);
var b = moment(a);
a.year(2000);
b.year(); // 2012


此外,也可以调用 moment#clone 克隆 moment。


var a = moment([2012]);
var b = a.clone();
a.year(2000);
b.year(); // 2012


获取当月总天数


moment().daysInMonth()
相关文章
|
28天前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
29天前
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
34 1
|
5月前
|
JavaScript
js 高频实用函数封装汇总(持续更新)
js 高频实用函数封装汇总(持续更新)
40 0
|
7月前
Aha Moment 原来如此
Aha Moment 原来如此
76 0
|
JavaScript 前端开发
带你读《现代Javascript高级教程》二十三、Date类:日期和时间处理(2)
带你读《现代Javascript高级教程》二十三、Date类:日期和时间处理(2)
|
存储 JavaScript 前端开发
带你读《现代Javascript高级教程》二十三、Date类:日期和时间处理(1)
带你读《现代Javascript高级教程》二十三、Date类:日期和时间处理(1)
|
前端开发 JavaScript
使用Moment.js处理时间戳转化为时间年月
使用Moment.js处理时间戳转化为时间年月
148 0
|
前端开发
datapicker回显要用moment转化
datapicker回显要用moment转化
73 0
|
JavaScript 前端开发
javascript时间函数的运用:根据开始时间和时间差来计算截至时间的解决方案
javascript时间函数的运用:根据开始时间和时间差来计算截至时间的解决方案
116 0
|
前端开发
【React工作记录七十三】datapicker回显要用moment转化
【React工作记录七十三】datapicker回显要用moment转化
176 0