【发布时间】:2014-05-25 05:14:09
【问题描述】:
同时在 MEAN 堆栈上试验 mongodb 和 javascript。我在处理日期时遇到了一个问题,所以我很想听听其他人是如何处理这种情况的。
假设我想在 mongodb 中存储三个日期,一个“出生日期”、一个“帐户创建”日期和“最后一次访问”日期。
- “出生日期”是不言自明的。该日期在呈现给用户时应始终相同。
- “帐户创建”保留帐户创建时的日期/时间戳。用户永远不会看到这是用于内部应用程序的。
- “上次访问”向用户显示他们上次使用该应用程序的日期/时间戳。
现在,如果我将所有这些日期保存为 mongodb 中的普通 Javascript 日期对象,它们将保存为 UTC。随后发生以下情况:
“出生日期”在重新计算为 UTC 后呈现给用户时不再正确。
“帐户创建”没问题,因为它在内部使用,只要它始终是 UTC。
“上次访问”在重新计算为 UTC 后呈现给用户时不再正确。
因此面临着试图避免将日期存储为字符串但同时又不愿意与时区复杂性作斗争的困境。在捕获、存储和显示日期方面,处理这种情况的最佳折衷方案是什么?
【问题讨论】:
标签: javascript mongodb date