2012-01-03 3 views
1

Я хочу конвертировать часовой пояс «Азия/Сингапур» в «Америка/Дева».конвертировать часовой пояс в Windows Phone 7

Но FindSystemTimeZoneById не входит в Windows Phone 7 sdk. Есть ли способ конвертировать один часовой пояс в другой часовой пояс?

Я не могу написать пользовательский преобразователь часового пояса, потому что я не знаю о летнее время для часовой пояс.

В WP7 SDK включают только TimeZoneInfo.Local и TimeZoneInfo.Utc.

+0

вопрос будет, почему вы хотите это сделать? –

+0

Я пишу приложение для приложения-приложения. Пользователь может проверить, в какой стране сейчас время, прежде чем звонить по телефону. – saturngod

ответ

1

Нет простого способа сделать это, и Silverlight, и Silverlight для Windows Phone 7 не имеют поддержки часовых поясов. Чтобы выполнить это преобразование, вам придется взять копию tz databas e и сделать это самостоятельно.

Я бы порекомендовал хранить все ваши даты в UTC, а затем отображать их в UTC или по местному времени. Поддержка произвольных временных интервалов слишком сложна!

0

Я не уверен, но вы можете попробовать следующее решение обходной

TimeSpan ts = DateTime.Now - DateTime.UtcNow; 

var systemTimeZone = Math.Round(ts.TotalHours, 1); // this will gie time difference in double 

var systemTimeZoneText = DateTime.UtcNow.AddHours(systemTimeZone).ToString("hh:mm tt"); // this will give result as 08:53 AM 
Смежные вопросы