如何处理数据处理中的时区问题?

2 投票
3 回答
910 浏览
提问于 2025-04-16 04:25

我很好奇大家是怎么解决这个问题的……

我有一系列的工作任务,这些任务在晚上运行,主要是根据当天的数据为客户生成报告。现在他们希望支持时区。

其中一个报告是……你昨晚有多少订单,但“昨晚”这个时间会因为时区的不同而有所不同。有什么好的方法来整理或处理这些数据,以便在考虑时区的情况下,让这个工作变得更简单吗?

谢谢!

3 个回答

0

根据我的经验,我们在晚上处理数据时,会把数据按小时(或者每十五分钟)分成小块。这样,用户在查看报告时,就可以根据他们所用的时区来获取相关的数据块。

1

在我的应用程序中,我保存了本地时间和与协调世界时(UTC)的时差。这样,我可以在代码中将这些时间转换为统一的时间格式进行比较,但在屏幕上显示时,用户看到的时间是他们所期望的(“是的,我昨天9:30做的那个”)。用户可以通过一个开关来选择显示时区、切换到统一时间,或者显示所有时间为本地时间。

3

把所有日期都用UTC时间来表示是个好习惯。UTC时间没有让人困惑的夏令时,这样就简单多了。比如说,一个在美国太平洋时区的客户想要查看2010年9月20日到2010年9月21日之间的订单报告(使用ISO 8601格式)。你程序的输入部分应该把客户提供的日期和存储的订单日期都转换成自1970年1月1日以来的秒数,并且都用UTC时间来处理,这样就能顺利进行后面的操作了。

撰写回答