作者:亚艾元技术部
在一个前后端分离的项目中,我们前端使用react + material UI, 后端使用KOA2+mongoose,当展示时间的时候,mongoose里面返回的时间格式是这样的:
2019-11-13T00:20:53.812Z
这个格式与想要的有差距,网上查找了一下,其中一个原始的办法是使用Date对象:
var st = "date in some format" var dt = new Date(st); dt.getMonth()
自己写一个辅助函数,也就可以了。
我比较了一下,发现有人给出了moment.js,查了一下npm的安装量,一周竟然有1000万,用户量还是很大的。看了一下文档,完全满足这里的需求,这次就用它了。
https://www.npmjs.com/package/moment
安装:
npm install moment --save
安装后,在需要的页面,先引入:
import moment from 'moment';
在react里面调用
{ moment(item.publishTime).format('YYYY-MM-DD HH:mm')}
Drupal/PHP里面的日期格式采用:H:i:s的形式,不过在moment里面,使用Hmmss,我开始犯了一个这样的错误,后面直接把ii显示了出来。查了一下文档,才发现和自己的习惯不一样。
这个moment.js库,还提供了很多其他丰富的功能,比如日期与当前时间的差值,fromNow等方便的函数。可以方便的满足日常的日期格式化需要。