C#将复杂的字符串转换为DateTime

时间:2016-04-27 17:00:39

标签: c# datetime

我想将以下字符串转换为DateTime

string start = "Wed Apr 27 2016 04:00:00 GMT+0300 (Jerusalem Daylight Time)";

1 个答案:

答案 0 :(得分:1)

你走了:

        string dateTimeString = "Wed Apr 27 2016 04:00:00 GMT+0300 (Jerusalem Daylight Time)";
        string formatString = @"ddd MMM dd yyyy hh:mm:ss ""GMT""zzz ""(Jerusalem Daylight Time)""";
        var parsedDateTime = DateTime.ParseExact(dateTimeString, formatString, System.Globalization.CultureInfo.InvariantCulture).ToLocalTime();

我坚持ToLocalTime(),所以不会对它返回的时区产生混淆。双引号之间的任何内容都是文字,其他所有内容都是DateTime Format Specifier。请注意,zzz是UTC偏移量,不一定是GMT偏移量,但显然GMT和UTC实际上是相同的,因此代码应该是正确的。