加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:11:15 所属栏目:百科 来源:网络整理
导读:我有这个UTC 0日期: 2011-11-28T07:21:41.000Z 我希望,在C#上,将其转换为PST日期.我该怎么做?试过: object.Data.ToLocalTime() 但我无法得到正确的值(应该是2011-11-27) 编辑 还尝试了(在另一个主题的建议之后): DateTime convertedDate = DateTime.Spec
我有这个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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读