【发布时间】:2013-07-09 21:01:48
【问题描述】:
这次我希望将Mon, 25 03 2013 00:00:00 GMT 转换为美国东部标准时间。我知道这已经在这里发布过:Time zone conversion in C# 但我仍然遇到错误,因为字符串不完全正确。
这是我的代码:
var dateString = "Mon, 25 03 2013 00:00:00 GMT";
var date = Convert.ToDateTime(dateString);
var result = TimeZoneInfo.ConvertTime(date, TimeZoneInfo.FindSystemTimeZoneById("US Eastern Standard Time"));
Console.WriteLine(result);
这是我的错误:
Unhandled Exception: System.FormatException: String was not recognized as a valid DateTime.
at System.DateTime.Parse (System.String s, IFormatProvider provider, DateTimeStyles styles) [0x00000] in :0
at System.DateTime.Parse (System.String s, IFormatProvider provider) [0x00000] in :0
at System.DateTime.Parse (System.String s) [0x00000] in :0
在 System.Convert.ToDateTime(System.String 值)[0x00000] in :0 在 Program.Main() [0x00000] in :0
我尝试将日期从 03 更改为 Mar,但我什至无法让它工作。我也尝试过其他论坛中的代码,只是想看看它是否有效,但我没有成功。我完全理解代码试图做什么,但我只是不明白为什么会抛出错误。
任何帮助将不胜感激!谢谢!
【问题讨论】:
-
您在此处描述的大部分内容只是重复您在其他问题中已经提出的内容。我在这里没有看到任何关于时区转换的问题,所以我投票结束。
-
您的代码在我的机器上运行。我刚刚复制并尝试运行它成功执行:)
-
您是否尝试过使用 DateTime.Parse:msdn.microsoft.com/en-us/library/w2sa9yss.aspx 这个重载?
-
另外,您要查找的时区 ID 只是
"Eastern Standard Time"。将"US "从其前面删除。 -
没问题。我们随时为您提供帮助!
标签: c# visual-studio-2010 datetime