DateTime.ParseExact()调试

时间:2015-07-29 17:26:46

标签: c# debugging datetime-format

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

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

但它无法解析Date字符串。我的格式字符串有什么问题?

修改

我使用mm数月和分钟。 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
}

我认为让这一天与月份有所不同可能是有帮助的。我希望这种调试策略可以帮助处于类似位置的人。

1 个答案:

答案 0 :(得分:3)

mm表示分钟,但您已经两次使用它 - 包括月份和分钟。请使用MM数月:

yyyy-MM-ddTHH:mm:sszzz