【问题标题】:Is there any con of using YYYYMMDDHHmmss as date instead of unix timestamp [duplicate]使用 YYYYMMDDHHmmss 作为日期而不是 unix 时间戳是否有任何缺点[重复]
【发布时间】:2014-05-26 05:18:33
【问题描述】:

也许这对后端人员来说是个愚蠢的问题,但我是这个领域的新手。我正在使用带有 mongoDB 的 node.js 提供服务,我很好奇使用 YYYYMMDDHHmmss 字符串格式来保存日期是否有任何缺点。

我知道另一种方法是使用 unix 时间戳,但问题是乍一看并不容易。

你会推荐什么?

提前致谢!

【问题讨论】:

标签: mongodb timestamp backend unix-timestamp


【解决方案1】:

我认为第三种选择更好,使用内置的日期格式。它将日期存储为 64 位数字,表示自纪元以来的毫秒数(如 Unix 纪元乘以 1000)。然而,它带有相当数量的内置支持,可以转换为可显示的格式。大多数驱动程序都很好地支持与该格式之间的转换。此外,MongoDB 聚合框架直接支持它,大大简化了按日期、月份、年份等汇总报告。

mongo shell 对内置日期格式有很好的支持:

http://docs.mongodb.org/manual/core/shell-types/

聚合框架也是如此:

http://docs.mongodb.org/manual/reference/operator/aggregation-date/

你可以在这里看到 http://mongodb.github.io/node-mongodb-native/api-articles/nodekoarticle1.html#mongo-db-data-types 日期格式

我个人犯了存储自定义日期格式的错误,然后处理了报告、分组和转换方面的困难。我现在总是从内置的日期格式开始,只有在其他需要时才会偏离。

直接映射到 Javascript 日期

【讨论】:

  • +1 除了类型是 ISODate() - 但是 shell 助手 Date() 将生成完全相同的东西。
猜你喜欢
  • 2015-07-26
  • 2011-02-26
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-07
  • 1970-01-01
相关资源
最近更新 更多