【发布时间】:2014-05-27 13:57:50
【问题描述】:
我想知道没有办法将时区的日期和时间转换为另一个时区! 我有很多关于时区转换的例子,而且都在非 WP SDK 上。令人惊讶的是,WP SDK 的命名空间 System 的 TimeZoneInfo 类没有 FindSystemTimeZoneById() 的方法。
这里的Converting time between Timezones 和How to convert a datetime to specific timezone in c#? 是在.net 上转换时区的非常好的例子,除了WP SDK。 假设一个场景,我在西澳大利亚标准时间有一段时间,现在我需要将该时间转换为东部标准时间。通常我会这样做:
string timeZoneStringOne = "W. Australia Standard Time";
TimeZoneInfo timeZoneIDOne = TimeZoneInfo.FindSystemTimeZoneById(timeZoneStringOne);
string timeZoneStringTwo = "Eastern Standard Time";
TimeZoneInfo timeZoneIDTwo = TimeZoneInfo.FindSystemTimeZoneById(timeZoneStringTwo);
DateTime dt = new DateTime(2010, 02, 08, 05, 00, 00);
DateTimeOffset dtOffset1 = new DateTimeOffset(dt, timeZoneIDOne.GetUtcOffset(dt));
Console.WriteLine(dtOffset1);
DateTimeOffset dtOffset2 = TimeZoneInfo.ConvertTime(dtOffset1, timeZoneIDTwo);
Console.WriteLine(dtOffset2);
DateTimeOffset dtOffset3 = TimeZoneInfo.ConvertTime(dtOffset2, timeZoneIDOne);
Console.WriteLine(dtOffset3);
Console.ReadKey();
/*
Output :
2/8/2010 5:00:00 AM +08:00
2/7/2010 4:00:00 PM -05:00
2/8/2010 5:00:00 AM +08:00
*/
但是如何在 windows phone 8 上做到这一点???
【问题讨论】:
-
这需要一个时区信息数据库。你有一个放在桌面上,它对你的裤袋来说太重了。所以没什么了不起的。使用网络服务或保留自己的网络服务是一种方法。
标签: c# .net datetime windows-phone-8 timezone