前端

时间处理——moment.与dayjs

2019-04-12  本文已影响0人  Smile_smile_

链接:momentjs中文网dayjs(github)
moment与dayjs都是一种用于时间处理的插件,可对时间进行格式调整及算法处理,二者用法相似,方法也大同小异,dayjs支持多语言,将不同功能拆分到不同文件中,所以比较小。

1 moment

使用方法:

引入js文件
<script type="text/javascript" src="/js/moment-cn.min.js"></script>

常用方法:

1 获取当前时间 var nowTime = moment();
2时间格式化  format()
   eg:moment().format("YYYY-MM-DD") ;注:format()格式化的格式可任意定义,format('YYYY-MM-DD hh:mm:ss')精确到秒;
3 fromNow() 距现在时间 (时、分或秒)moment(theTime).startOf('minutes').fromNow();
4  时间先后比较:isSame()比较是否相同, isBefore(),isAfter() ;
eg:moment(m.format('YYYY-MM-DD')).isSame(moment().format("YYYY-MM-DD"));  moment(theTime).isBefore(moment());

2 dayjs

使用方法:

<script type="text/javascript" src="/js/dayjs.min.js"></script>
要使用中文版,需在使用之前添加 dayjs.extend(dayjs_plugin_relativeTime).locale('zh-cn');//转换为中文;

常用方法:

1获取当前时间 var nowTime = dayjs();
2 时间格式化 format():与momentjs基本相同 eg:dayjs().format('YYYY-MM-DD'); dayjs(theTime).format('YYYY-MM-DD'); dayjs('2019.03.16 14:23:31').format('YYYY年MM月DD日 hh:mm:ss');
3 fromNow() 距现在时间 (智能显示时、分或秒)eg:var m2 = dayjs(theTime).fromNow();
4 时间先后比较:与momentjs基本相同 isSame(),isBefore(),isAfter() eg:dayjs('2018-06-01').isBefore(dayjs('2018-06-02')),dayjs().isSame(dayjs()),dayjs().isAfter(dayjs())
5  获取年、月、日、时、分、秒、毫秒 dayjs().year(), dayjs().month(), dayjs().date(), dayjs().day()<星期> dayjs().hour()时, dayjs().minute()分, dayjs().second(), dayjs().millsecond()毫秒
6 获取时间戳 dayjs().valueOf()转换到秒,dayjs().unix() 转换到毫秒;时间戳也可直接使用format()方法格式化 eg:dayjs('2019.03.19 12:23:31').valueOf());  dayjs(1552969259484).format('YYYY-MM-DD hh:mm:ss'));
7 获取时间差diff() eg:var date1 = dayjs('2019-01-25');var date2=dayjs('2018-06-05');date1.diff(date2);=>20214000000, date1.diff(date2,'month') =>7 ,date1.diff(date2,'day')=>233
8 检测时间是否有效 dayjs().isValid();

上一篇下一篇

猜你喜欢

热点阅读