とにかく、「オーストラリア/メルボルン」タイムゾーンをいくつかの.NETベースクラスライブラリオブジェクトに変換できますか?
質問
私はサードパーティのいくつかのデータを持っています。 string Language
プロパティデータ。取得されたサンプルデータの一部は次のように見えます。
「オーストラリア/メルボルン」
プロパティデータタイプが基づいていることを調査したとき、それは ゾーン情報(TZデータベース / Olsonデータベース). 。あれは何だよ?私はグーグルで検索しました、そしてこれが情報です....
多くの主要なプラットフォームで使用されているように聞こえますが、.NETではなく。
したがって、ホイールを再発明する前に(または、詳細については、そのCODEPLEXサイトのコードをDBリストをDLLに埋め込む)、これは.NETベースクラスライブラリに既に存在していますか?
解決
ゾーン情報(TZデータベース / Olsonデータベース)です。あれは何だよ?
それはほとんどポータブルです 標準 タイムゾーンを表す方法。 .NETが適切にサポートしていないのは残念です、IMO。
.NET 3.5を使用していますか?もしそうなら、 TimeZoneInfo
クラスは私たちが持っている最高のサポートですが、Olsonの名前からWindows名への変換は難しいかもしれません。理想的には、Olson IDからWindowsが使用するIDへの変換が必要です...しかし、利用可能なものがあることはわかりません。
編集:少し掘り下げた後、いくつかのリンク:
- クロノスプロジェクト Win32 IDとOlson IDの間にファイルをマッピングしています(HTML, 文章)
- Unicode Webサイトには 同様のマッピングファイル
これらがどれくらいの頻度で最新の状態に保たれるかはわかりませんが、それらはあなたの最善の策かもしれません。
他のヒント
必要なことを正確に行うコードプロジェクトには、すばらしい小さな.NETライブラリがあります。
http://www.codeproject.com/kb/locale/zoneinfo_dotnet_api.aspx
これは、すべての時間ゾーンがZoneInfo/Olsenデータベース形式であるため、Google APIと話すいくつかのプロジェクトで使用します。
また、セットアップに関するブログ投稿を書きました。 http://www.diaryofaninja.com/blog/2011/05/27/how-to-use-zoneinfotz-time-zones-in-net-applications
GMTに変換しますか? +x HRSまたは-X HRSを検索し、保存した日付/時刻からオフセットを減算します。例えば。メルボルンは+10 GMTであるため、例10を減算しますか?