Codeigniter MongoDB文档中时间戳的最佳日期格式?

Codeigniter MongoDB文档中时间戳的最佳日期格式?,codeigniter,mongodb,Codeigniter,Mongodb,我正在使用Codeigniter和MongoDB开发一个API。 我不确定哪种日期格式对于时间戳最“灵活” 数据库中的每个文档 目前我使用的是:yyyy-mm-dd hh:mm:ss 使用另一种格式(对于mongodb搜索和国际化)更好吗 我的问题是,MongoDB文档中的时间戳的最佳格式是什么?多年来,我一直致力于将日期/时间始终存储为10位Linux/Unix时间戳,这使当前(添加:本地)时间从纪元开始以秒为单位。就在刚才,时间是1329126719。对我来说,这是最灵活的格式。当需要显示日

我正在使用Codeigniter和MongoDB开发一个API。 我不确定哪种日期格式对于时间戳最“灵活” 数据库中的每个文档

目前我使用的是:yyyy-mm-dd hh:mm:ss

使用另一种格式(对于mongodb搜索和国际化)更好吗


我的问题是,MongoDB文档中的时间戳的最佳格式是什么?

多年来,我一直致力于将日期/时间始终存储为10位Linux/Unix时间戳,这使当前(添加:本地)时间从纪元开始以秒为单位。就在刚才,时间是1329126719。对我来说,这是最灵活的格式。当需要显示日期/时间时,很容易将10位时间戳转换为您想要显示的任何字符串


编辑:也许对我来说,更好的选择是从纪元开始的几毫秒,因为随着艺术的发展,这似乎越来越受欢迎

MongoDB有一个内置的datetime类型,它与应用程序语言中的datetime类型交互(在PHP中,它们成为实例)。MongoDB日期时间始终存储在UTC中,并且自UNIX纪元以来,在内部存储为毫秒。这意味着它们是紧凑的(它们总是8字节,而字符串格式的长度取决于您选择存储的精度)。此外,MongoDB工具都“理解”了datetime对象——您可以通过Map Reduce中的javascript轻松操作它们,或者使用。

是的,也许epoc时间戳是最好的?是否可以在两个日期之间以Epoc格式执行MongoDB查找查询?我不是MongoDB用户,所以我只是稍微确定查找查询不会在两个日期之间,而是在表示两个历元时间点的两个10位整数值之间。MongoDB不知道这些是日期;只有你知道。这对你有意义吗?@Jonathan Clark——这里有一个帖子解释了这一点,也让我的答案完全错了!我向你道歉,因为我似乎对MongoDB做了一些完全错误的假设。我想补充一点,仅仅时间戳并不总是足够的。在许多情况下,您还需要存储时区。解释了一些原因。因此,将created_at设置为unix时间戳将阻止我在两个日期之间搜索?这是MongoDB特定问题的更好答案。