与简单文本相比,将日期作为 ISODate 存储在数据库中有何优点?

发布于 2024-12-14 00:51:08 字数 34 浏览 0 评论 0原文

为什么我想要存储为 ISODate 而不是简单的文本?

Why would I want to store as ISODate as opposed to simple text?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风吹短裙飘 2024-12-21 00:51:08

MongoDB 中的 ISODate 只是一个函数,提供常用 JavaScript Date 构造函数的友好包装。当你在 MongoDB 中这样说时:

ISODate('2011-11-05T18:33:25Z')

你说的是同样的事情:

new Date(1320518005000);

但是人类可以阅读 ISO 8601< /a> date 比读取自 1970 年 1 月 1 日以来的毫秒数要容易得多。

因此,使用 ISODate 会在数据库中为您提供一个真实的 Date 对象,您可以在该对象上调用方法(例如getMonth)同时也能够轻松地了解其价值。如果您使用字符串作为日期,那么当您必须处理日期时,您将一直解析字符串。一个例子是使用 map/reduce 来汇总每月数据;您可以解析字符串以提取月份,但是当您可以使用知道月份的真实日期对象时,为什么要费心呢?

ISODate in MongoDB is just a function that provides a friendly wrapper for the usual JavaScript Date constructor. When you say this in MongoDB:

ISODate('2011-11-05T18:33:25Z')

You're saying the same thing as:

new Date(1320518005000);

but a human can read an ISO 8601 date a lot easier than they can read the number of milliseconds since January 1 1970.

So, using ISODate gives you a real Date object in the database that you can call methods on (such as getMonth) while also being able to easily eye ball its value. If you used a string for the date, then you'd be parsing strings all the time when you had to work with your dates. An example would be doing a map/reduce to aggregate monthly data; you could parse the strings to extract the month but why bother with that when you can use a real date object that knows what months are?

不喜欢何必死缠烂打 2024-12-21 00:51:08

根据此来源

可用的格式太多,其中大多数与
其他人则认为选择日期可能是可用性的噩梦
为国际跨文化写作时的代表
观众,就像网络上的情况一样。幸运的是,有一个
采用 ISO 开发的国际日期格式的解决方案。

According to this source:

There are so many formats available, most of them incompatible with
others, that it can be a usability nightmare to choose a date
representation when writing for an international, cross-cultural
audience, as is the case on the web. Fortunately, there is one
solution in the ISO-developed international date format.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文