8

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

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);
4

2 回答 2

8
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)'

您可以使用 single dinformat代替dd,效果很好

你可以在这里查看演示

于 2013-10-29T15:58:40.553 回答
1

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

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);
于 2013-10-29T17:04:25.377 回答