在 firestore 中存储日期的完美方式是什么?

N.K*_*K.T 1 datetime dart flutter google-cloud-firestore

我正在使用颤动。a 应该以哪种方式DateTime存储在 firestore 中,以便我可以根据DateTime. 应该转换成String其他的吗?这里完美的方法是什么?

Fra*_*len 6

Firestore 有一个可用于存储时间戳的本机Timestamp类型,其中:

时间戳表示独立于任何时区或日历的时间点,以 UTC 纪元时间中纳秒分辨率的秒和秒的分数表示

此类型非常适合按日期/时间范围进行过滤,例如,当您想要获取具有 2021 年 1 月 7 日上午 7:41:00 至 2021 年 1 月 20 日下午 2:00:42 之间某个字段的所有文档时。

如果我纯粹对日期不是时间感兴趣,我经常将其存储为"20210107"格式的字符串(so yyyyMMdd)。当我想要获取特定日期的文档时,我发现这种格式稍微容易一些,因为我可以使用相等过滤器。但代价是我喜欢时间的精确性。正如您可能从我的措辞中猜到的那样,这是个人偏好,不一定是适合所有情况或每个人的最佳方式。