2


0

.NETでTimeZoneリストを注文する方法は?

イベントの現地時間を正しく表示できるように、ユーザーに適切なタイムゾーンの選択を要求するASP.NET Webアプリケーションがあります。

タイムゾーンを選択するための簡単なアプローチを作成するために、TimeZoneInfo.GetSystemTimeZones()の値を使用して、そのリストを表示することから始めました。

これに関する唯一の問題は、アプリケーションが主に米国を対象としているため、基本的に東部時間から始めて大西洋時間に達するまで逆方向(西)に作業するエントリを最初に表示したいことです。

コードでこれを行うための良いアプローチは何ですか?

2 Answer


1


LINQを使う:

var timezones = TimeZoneInfo.GetSystemTimeZones();
var orderedZones = (from t in timezones
                                where t.DisplayName.Contains("(US & Canada)")
                                select t).Concat(
                                from t in timezones
                                where t.DisplayName.Contains("(US & Canada)") == false
                                select t
                               );


0


わかりましたので、私の解決策:表示名、ID、およびそれらをデータベースに入れたい順序を入れました。 とにかくユーザーオブジェクトにIDを保存するだけなので、動作します。 一度取得して、アプリケーションキャッシュに保存します。

Hack-yですが、問題を「解決」します。