我试图将String转换为Datetime对象,而不修改它并向Datetime对象添加额外的小时/偏移量.
这是代码:
string dateStr = "2011-03-18T12:07:00.000+10:00"; //Convert this string to datetime AS IS
DateTime date = Convert.ToDateTime(dateStr);
Console.WriteLine("Original string: " + dateStr);
Console.WriteLine("date toString: " + date.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffK"));
Run Code Online (Sandbox Code Playgroud)
输出:
Original string: 2011-03-18T12:07:00.000+10:00
date toString: 2011-03-18T13:07:00.000+11:00
Run Code Online (Sandbox Code Playgroud)
如果有人可以指出我如何可以忽略DST或者甚至简单地将日期转换回我想要的Datetime对象,那将非常感激.
走下修改日期时间的路径: 我已经尝试将Datetime转换回来,但我无法弄清楚如何更改Datetime对象中的时区以及当我使用DatetimeOffset对象执行此工作时,当我调用DatetimeOffset.Datetime时它返回没有偏移量的Datetime
小智 0
.NET框架中的TimezoneInfo类可以提供答案(http://msdn.microsoft.com/en-us/library/system.timezoneinfo.aspx)
string dateStr = "2011-03-18T12:07:00.000+10:00"; //Convert this string to datetime AS IS
DateTime localDateTime = DateTime.Parse(date);
DateTime utcDateTime = localDateTime.ToUniversalTime();
string estKey = "Eastern Standard Time";
TimeZoneInfo estTimeZone = TimeZoneInfo.FindSystemTimeZoneById(estKey);
DateTime estDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, estTimeZone);
Console.WriteLine("Original string: " + dateStr);
Console.WriteLine("date toString: " + estDateTime);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4412 次 |
| 最近记录: |