在MongoDB中存储日期而不考虑时区

Giu*_*oro 13 javascript timezone datetime date mongodb

哪个是在不考虑时区的情况下在MongoDB中存储日期的最佳方法?

我试着通过一个例子来解释这个问题:

意大利的Giuseppe在日期创建了一个invoce "December 15, 2014",当系统存储这个日期时,将在MongoDB中存储"2014-12-14T23:00:00.000Z".

英国的John阅读发票并查看"December 14, 2014"发票日期.

显然这个信息是错误的,"December 15, 2014"因为Jhon也应该看作发票日期,我该如何解决这个问题呢?

Mat*_*int 16

全日期应该不会被放置在一个Date对象.尽管名称,Date代表一个日期和时间.如果您使用的值表示整个日期,而不是该日期的特定时间,那么您应该以另一种格式存储该值.

选项包括:

  • 字符串YYYY-MM-DDYYYYMMDD格式
  • 一些参考点以来整数天的整数.

  • MattJohnson 的回答适用于这种情况:用户在纽约注册了一个应用程序。然后他搬到加利福尼亚。如果我们使用 MongoDB 日期对象来存储他的出生日期值,我们应该处理使用用户位置(国家或地区或 UTC 信息)数据来显示和评估应用程序中正确的日期值。否则,如果用户的 dob 值为“1972-01-01T00:00:00”,则当应用程序在加利福尼亚州运行时,dob 似乎为“1971-12-31T21:00:00”。所以存储日期有两种选择,1.存储为字符串 2.存储为ISODate对象,也存储注册用户的位置以显示正确的dob日期。 (2认同)