我知道 Cassandra 将时间戳存储为自纪元以来的秒(或微秒)。因此,如果我关心特定事件发生的时区,我是否需要将其存储在单独的列中?对于如何存储它有任何最佳实践或建议吗?与 GMT 的整数偏移量?
我们每天在 Cassandra 集群中存储数百万个时间戳及其时区。
我们建议的做法是将时间戳存储为两个值:
这样,默认情况下,我们所有的时间戳都全面使用相同的时区。然而,每当我们需要在当地时间做某事时,我们只需获取 UTC 偏移列并从时间戳中减去它即可获得当地时间。
我面临类似的情况,我想分配来自位于世界各地(不同时区)的物联网设备的测量值。之后,我的一些要求是,每次我们在用户界面中可视化数据时,我们都需要转换回原始的特定设备时区。所以,基本上,我假设下一个
我没有收到@JonathanNappee 的评论,如何获取时区?我的意思是, datetime 中传入的唯一信息是与 UTC 的偏差。例如,2011-02-03 04:05:00+0200。我知道,为了满足要求,我唯一能做的就是在存储时间戳时将 UTC 偏移量“+0200”保存为同一行的一部分。