将 GMT 日期字符串转换为日期时间

本文关键字:日期 时间 转换 字符串 GMT | 更新日期: 2023-09-27 18:37:24

如何转换这种格式的字符串日期值:

Wed Oct 02 2013 00:00:00 GMT+0100 (GMT Daylight Time)

02/10/2013格式的日期。

我已经尝试了DateTime.ParseExact但它根本没有工作:

DateTime.ParseExact(dateToConvert, "ddd MMM d yyyy HH:mm:ss GMTzzzzz",    CultureInfo.InvariantCulture);

将 GMT 日期字符串转换为日期时间

var dateToConvert = "Wed Oct 02 2013 00:00:00 GMT+0100 (GMT Daylight Time)";
var format =        "ddd MMM dd yyyy HH:mm:ss 'GMT'zzz '(GMT Daylight Time)'";
var date = DateTime.ParseExact(dateToConvert, format, CultureInfo.InvariantCulture);
Console.WriteLine(date); //prints 10/2/2013 2:00:00 AM for my locale

您需要指定以 'GMT'zzz '(GMT Daylight Time)' 结尾

您可以在format中使用单个d而不是dd,工作正常

您可以在此处查看演示

谢谢。这正是我为解决上面最后一条评论中的问题所做的。

int gmtIndex = dateToConvert.IndexOf("G");
string newDate = dateToConvert.Substring(0, gmtIndex).Trim();
value = DateTime.ParseExact(newDate, "ddd MMM dd yyyy HH:mm:ss", CultureInfo.InvariantCulture);