好奇人們如何解決這個問題... 我有一系列的工作,一夜之間運行,根據當天的數據爲客戶彙總報告。他們現在要求提供時區支持。你如何處理數據處理的時區?
其中一個報告是..你昨晚有多少個訂單,但是昨晚可能因時區不同而不同。組織或處理數據的最佳方式是什麼,以便將時區考慮在內以使工作更輕鬆?
謝謝
好奇人們如何解決這個問題... 我有一系列的工作,一夜之間運行,根據當天的數據爲客戶彙總報告。他們現在要求提供時區支持。你如何處理數據處理的時區?
其中一個報告是..你昨晚有多少個訂單,但是昨晚可能因時區不同而不同。組織或處理數據的最佳方式是什麼,以便將時區考慮在內以使工作更輕鬆?
謝謝
在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