我有这个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 举报,一经查实,本站将立刻删除。