微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/csharp/101036.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐