Конвертировать местное время в UTC в .NET Framework 3.0 - PullRequest
3 голосов
/ 12 января 2011

Я разрабатываю приложение. в C #, я должен перевести местное время в UTC, местное время в часовом поясе, который кто использует в моем приложении. входит. Я должен использовать в .NET Framework 3.0, поэтому не могу использовать объект TimeZoneInfo.

У кого-нибудь есть idia, как мне это сделать?

Следует ли использовать в объекте TimeZone?

Спасибо

Может я не смогу это сделать?

Ответы [ 2 ]

6 голосов
/ 12 января 2011

Теперь я вижу проблему. Вместо этого используйте следующий метод: TimeZone.ToUniversalTime

0 голосов
/ 12 января 2011

каждый раз, когда я сохраняю время в базе данных, я ВСЕГДА сохраняю в UTC время

myEntity.CreateDate = DateTime.UtcNow;

Теперь, в 3.0 или меньше

используйте этот файл

http://pastebin.com/w20NRkuP

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

Заполните выпадающий список и попросите пользователя выбрать собственную часовую зону , затем просто добавьте минуты к сохраненной дате UTC.

например:

<asp:DropDownList ID="myDropDown" runat="server" />

тогда

myDropDown.DataSource = Helper.ListAllTimeZones();
myDropDown.DataValueField = "UtcOffsetMinutes";
myDropDown.DataTextField = "DisplayName";

myDropDown.DataBind();

при сохранении пользовательских настроек:

User.OffSet = (int)myDropDown.SelectedValue;

надеюсь, это поможет


например, sweetie.com делает это:

alt text

просто запросите часовой пояс для пользователя и сохраните все в формате UTC, затем просто добавьте / вычтите часовой пояс.

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