为什么我要将其存储为ISODate而不是简单文本?
答案 0 :(得分:6)
ISODate
只是一个为常见的JavaScript Date构造函数提供友好包装的函数。当你在MongoDB中这样说时:
ISODate('2011-11-05T18:33:25Z')
你说的是同样的事情:
new Date(1320518005000);
但人类可以阅读ISO 8601日期比阅读1970年1月1日以来的毫秒数要容易得多。
因此,使用ISODate
可以在数据库中为您提供一个真实的Date对象,您可以在其上调用方法(例如getMonth
),同时还能够轻松地看到它的值。如果您使用字符串作为日期,那么当您必须处理日期时,您将一直在解析字符串。一个例子是进行map/reduce汇总月度数据;你可以解析字符串以提取月份,但是当你可以使用知道几个月的真实日期对象时,为什么还要烦恼呢?
答案 1 :(得分:0)
根据this source:
有许多格式可用,其中大多数格式不兼容 其他人,选择约会可能是一个可用性的噩梦 为国际跨文化写作时的代表性 观众,就像网络上的情况一样。幸运的是,有一个 ISO开发的国际日期格式的解决方案。