我有一些来自XML文档的数据,例如2012-12-06T24:00。
问题是当我尝试转换它时:24:00不存在。所以:
DateTime.Parse(myDateTimeString).Hour
告诉我这个例外:System.FormatException: The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar.
我该如何解决?
我想到的解决方案是用T00替换(字符串)T24,这看起来很糟糕......
答案 0 :(得分:9)
DateTime
无法处理此问题。你必须在调用Parse
之前“清理”你的字符串并处理溢出(取决于“24:00”的实际含义):
DateTime date = DateTime.Parse(myDateTimeString.Replace("T24:00", "T00:00"));
if (myDateTimeString.Contains("T24:00"))
{
date = date.AddDays(1);
}
编辑:添加了“溢出”-part。