如果时间是24:00,我如何管理日期?

mar*_*zzz 3 .net c# date

我有一些来自XML文档的数据,例如2012-12-06T24:00.

问题是当我尝试转换它时:24:00不存在.所以:

DateTime.Parse(myDateTimeString).Hour
Run Code Online (Sandbox Code Playgroud)

给我这个例外: System.FormatException: The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar.

我该如何解决?

我想到的解决方案是用T00替换(字符串)T24,这看起来很糟糕......

ulr*_*chb 9

DateTime无法处理这个问题.在调用Parse和处理溢出之前,你必须"清理"你的字符串(取决于"24:00"实际意味着什么):

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

if (myDateTimeString.Contains("T24:00"))
{
    date = date.AddDays(1);
}
Run Code Online (Sandbox Code Playgroud)

编辑:添加"溢出" - 部分.