DateTime.ParseExact() Debugging

本文关键字:Debugging ParseExact DateTime | 更新日期: 2023-09-27 18:05:37

我需要解析格式为"2015-07-16T00:00:00-05:00"的字符串。使用文档,我编写了以下代码:

DateTime d;
System.Globalization.CultureInfo enUS = new System.Globalization.CultureInfo("en-US");
var result = DateTime.TryParseExact(value, "yyyy-mm-ddTHH:mm:sszzz", enUS, System.Globalization.DateTimeStyles.None,out d);

,但无法解析日期字符串。我的格式字符串有什么问题?

编辑:

我用了几个月几分钟。MM是指几个月。回到这个问题,我意识到如果我测试了相同的格式字符串作为输出,我就会看到问题:

static void Main(string[] args)
{
    DateTime time = new DateTime(2016, 1, 2, 3, 4, 5);
    Console.WriteLine(time.ToString("yyyy-mm-ddTHH:mm:sszzz"));
    //prints 2016-04-02T03:04:05-06:00 not 2016-01-02T03:04:05-06:00
}

我认为这可能是有帮助的一天不同于月份,等等。我希望这个调试策略能帮助到有类似处境的人。

DateTime.ParseExact() Debugging

mm表示分钟,但是您使用了两次—月和分钟。用MM代替几个月:

yyyy-MM-ddTHH:mm:sszzz