c# – 如何将UTC 0日期转换为PST日期?

前端之家收集整理的这篇文章主要介绍了c# – 如何将UTC 0日期转换为PST日期?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个UTC 0日期:
2011-11-28T07:21:41.000Z

我希望,在C#上,将其转换为PST日期.我该怎么做?试过:

object.Data.ToLocalTime()

但我无法得到正确的值(应该是2011-11-27)

编辑

还尝试了(在另一个主题的建议之后):

DateTime convertedDate = DateTime.SpecifyKind(
    DateTime.Parse(object.Data.ToShortDateString()),DateTimeKind.Utc);                    

DateTime dt = convertedDate.ToLocalTime();
string dataVideo = dt.ToShortDateString();

但是日期仍然是2011年11月28日,而不是2011年11月27日

解决方法

我已将时钟更改为使用UTC-08:00太平洋时间.
DateTime timestamp = DateTime.Parse("2011-11-28T07:21:41.000Z");
Console.WriteLine("UTC: " + timestamp.ToUniversalTime());
Console.WriteLine("PST: " + timestamp.ToLocalTime());

输出

UTC: 28/11/2011 7:21:41
PST: 27/11/2011 23:21:41

TimeZoneInfo的示例

DateTime timestamp = DateTime.Parse("2011-11-28T07:21:41.000Z");
Console.WriteLine("UTC: " + timestamp.ToUniversalTime());
Console.WriteLine("GMT+1: " + timestamp.ToLocalTime());
Console.WriteLine("PST: " + TimeZoneInfo.ConvertTimeBySystemTimeZoneId(timestamp,"Pacific Standard Time"));

输出

UTC: 28/11/2011 7:21:41
GMT+1: 28/11/2011 8:21:41
PST: 27/11/2011 23:21:41

猜你在找的C#相关文章