3

我有一些来自 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,这看起来很可怕......

4

1 回答 1

9

DateTime不能处理这个。您必须在调用和处理溢出之前“清理”您的字符串Parse(取决于“24:00”的实际含义):

DateTime date = DateTime.Parse(myDateTimeString.Replace("T24:00", "T00:00"));

if (myDateTimeString.Contains("T24:00"))
{
    date = date.AddDays(1);
}

编辑:添加了“溢出”部分。

于 2012-12-06T15:49:06.733 回答