Как заказать список TimeZone в .NET? - PullRequest
2 голосов
/ 17 февраля 2010

У меня есть веб-приложение ASP.NET, которое требует, чтобы пользователи выбирали соответствующий часовой пояс, чтобы оно могло правильно показывать местное время для событий.

При создании простого подхода к выбору часового пояса я начал с использования значений из TimeZoneInfo.GetSystemTimeZones () и отображения этого списка.

Единственная проблема с этим заключается в том, что, поскольку наше приложение в основном предназначено для Соединенных Штатов, я хотел бы сначала показать эти записи, в основном начиная с восточного времени и работая в обратном направлении (запад), пока не достигну атлантического времени.

Какой хороший подход сделать это в коде?

Ответы [ 2 ]

1 голос
/ 17 февраля 2010

Использование 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 голосов
/ 18 февраля 2010

Хорошо, так что мое решение: я поместил отображаемое имя, Id и порядок, в котором я их хотел, в базе данных. Это работает, так как я просто храню идентификатор в пользовательском объекте в любом случае. Я возьму его один раз и сохраню в кеше приложения.

Хак, но это "решает" проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...