我需要解析格式为"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
}
我认为让这一天与月份有所不同可能是有帮助的。我希望这种调试策略可以帮助处于类似位置的人。
答案 0 :(得分:3)
mm
表示分钟,但您已经两次使用它 - 包括月份和分钟。请使用MM
数月:
yyyy-MM-ddTHH:mm:sszzz