Конвертировать utc в местное время - PullRequest
3 голосов
/ 25 апреля 2011

У меня есть настройка глобализации в web.config, например:

<globalization culture="de-DE" uiCulture="de-DE" />

и на средней странице aspx я выводил sth. как:

var a = DateTime.UtcNow.ToLocalTime().ToString();
var b = DateTime.UtcNow.ToString();
var c = DateTime.Now.ToLocalTime().ToString();
var d = TimeZone.CurrentTimeZone.ToLocalTime(DateTime.UtcNow).ToString();

Результат: значения a, b, c, d ВСЕ идентичны (например, 01.01.2001 17:00:00), когда я ожидал, что местное время и время UTC будут разными.

Что мне здесь не хватает и как я могу получить правильное местное время с даты UTC ... Я уже проверил другие темы, но это не сработало ..

Ответы [ 2 ]

6 голосов
/ 25 апреля 2011

В Microsoft Azure установлено время UTC по местному времени, независимо от того, где расположен центр обработки данных. Если вы хотите преобразовать время, локальное для браузера пользователя, вам нужно преобразовать его программно.

Поскольку Azure является глобальной службой, на самом деле локального времени фактически не существует, и для обеспечения согласованности во всех их глобальных центрах обработки данных имеет смысл использовать стандартное время.

Больше информации на.

http://michaelcollier.wordpress.com/2010/05/22/hey-azure-what-time-is-it/

2 голосов
/ 26 апреля 2011

Как сказал @Джон, вы должны сделать это в клиенте. Если это веб-приложение, вы можете конвертировать UTC в местное время следующим образом: http://blogs.msdn.com/b/marcelolr/archive/2008/06/04/javascript-date-utc-and-local-times.aspx

...