好奇人们如何解决这个问题... 我有一系列的工作,一夜之间运行,根据当天的数据为客户汇总报告。他们现在要求提供时区支持。你如何处理数据处理的时区?
其中一个报告是..你昨晚有多少个订单,但是昨晚可能因时区不同而不同。组织或处理数据的最佳方式是什么,以便将时区考虑在内以使工作更轻松?
谢谢
好奇人们如何解决这个问题... 我有一系列的工作,一夜之间运行,根据当天的数据为客户汇总报告。他们现在要求提供时区支持。你如何处理数据处理的时区?
其中一个报告是..你昨晚有多少个订单,但是昨晚可能因时区不同而不同。组织或处理数据的最佳方式是什么,以便将时区考虑在内以使工作更轻松?
谢谢
在UTC时区中表示所有日期是一种很好的做法。这个时区没有令人困惑的夏令时。然后,美国/太平洋时区的客户可以要求提供2010年至2009年至2013年间的订单报告:00-700至2010-09-21T00:00-700(使用ISO 8601 format)。程序的输入层应该将客户日期和存储的订单日期都转换为UTC以来的时间,然后从那里开始。
根据我的经验,我们在夜间运行期间将数据汇总到小时(或15分钟)的桶中。然后,您可以根据用户请求的报告时区来抓取相关的存储桶。
数据不是动态提取的,它运行在夜间作业上。因此,如果订单在12:01太平洋标准时出现,它将在第二天的运行中处理。 – James 2010-09-21 19:42:58
无论何时拉动数据,您的时区行为应该都是相同的。用户使用明确的时区输入日期,并且您的代码所做的第一件事是将其转换为自UTC时代以来的秒数。从那时起,它就是同一时间线上的所有整数。明白了吗? – 2010-09-22 20:16:22