从Mongodb格式化ISODate

jam*_*jam 27 javascript mongodb node.js isodate

在Mongodb中,我以ISODate格式存储日期和时间.

看起来像这样

ISODate("2012-07-14T01:00:00+01:00")
Run Code Online (Sandbox Code Playgroud)

使用nodejs/javascript,我如何显示时间组件,以便我得到这样的东西

Time : 01:00
Run Code Online (Sandbox Code Playgroud)

我正在使用momentjs来使这更容易,但从我可以告诉momentjs似乎支持ISODate格式.

谢谢你的帮助.

Ste*_*nie 30

MongoDB的ISODate()只是一个辅助函数,它包装了一个JavaScript日期对象,并且更容易使用ISO日期字符串.

您仍然可以使用与使用普通JS Date相同的所有方法,例如:

ISODate("2012-07-14T01:00:00+01:00").toLocaleTimeString()

// Note that getHours() and getMinutes() do not include leading 0s for single digit #s
ISODate("2012-07-14T01:00:00+01:00").getHours()
ISODate("2012-07-14T01:00:00+01:00").getMinutes()
Run Code Online (Sandbox Code Playgroud)


小智 28

JavaScript的Date对象支持ISO日期格式,因此只要您有权访问日期字符串,就可以执行以下操作:

> foo = new Date("2012-07-14T01:00:00+01:00")
Sat, 14 Jul 2012 00:00:00 GMT
> foo.toTimeString()
'17:00:00 GMT-0700 (MST)'
Run Code Online (Sandbox Code Playgroud)

如果你想要没有秒和时区的时间字符串,那么你可以调用Date对象上的getHours()和getMinutes()方法并自己格式化时间.