How to store TimeZoneInfo objects in a database?

Viewed 3157

Somewhat misleading title, I know. Never actually wanted to store TimeZoneInfo object themselves: rather, I want to store some culture-neutral identifier, which can then be later used to reconstruct an instance of TimeZoneInfo.

Currently, I'm storing the value of TimeZoneInfo.Id property and it seems to be OK both on English and Russian versions of Windows, but I just wanted to make sure I do the right thing.

4 Answers

I simply used TimeZoneInfo.Id.GetHashCode(). According to tests, this generates unique integer ID's that can be stored in a DB. You can also build a Dictionary with keys being these hash codes and values being the original ID strings to make reverse lookup easier.

Related