On 01/06/14 00:36, Joris Van den Bogaert wrote:
Hello, I'm investigating how to deal with timezones for an application that will get to processes billions of timestamped events, generated in just about any part of the world. Timestamps are in local time (without timezone, only post- and other codes) and we need them in UTC time. Money is involved, so it is of critical importance that intervals between events are calculated correctly. There's two steps involved in this: - given some geo data and some lookup tables from a database like geopostcodes.com, determine the timezone id - convert to UTC using the latest Time Zone Database Matching geo data to a timezone is a bit fuzzy. On the other hand, you state that correct calculation is critical.
2) Do rules from the past ever change? In other words, can we assume that a recalculation of a past local date to a UTC date will always yield the same result with newer versions of the TZ database? If so, is this a common thing and would one then recommend saving the TZ database version with which the conversion was performed along with the UTC date? Yes. If new data is discovered and it turns out the previous rule was wrong, it is updated. The new one will (hopefully) be more accurate, but there will be a difference from converting with the previous version. Also note that the applicable timezone could change.
You may know more than us how likely it is that the information about the period you are treating wasn't accurate. Now I'm thinking that perhaps you aren't working on historic records but with future ones, in which case it's very likely that tz will be right (but in that case why not store them in UTC directly?) ... excluding the cases where a Government decides to change time and tz/your team is not able to provide/install the new rules before the change. :/