C#中的DateTime无法表示的错误

Mas*_*sey 1 c# datetime

我必须将当前时间添加15分钟,并将其设置为C#中的DateTime对象。如果我的当前时间是晚上11:50,并且添加了15分钟,则小时部分变为24,并引起以下错误:“小时,分钟和秒参数描述了无法表示的DateTime。”

public static DateTime NewTime(this DateTime dateTime)
    {
        int hour = dateTime.Hour;
        int minute = dateTime.Minute;
        if (minute > 0)
        {
            minute = dateTime.Minute + (15);
            if (minute >= 60)
            {
                hour = hour + 1;
                minute = 0;
            }
        }
        return new DateTime(dateTime.Year, dateTime.Month,
             dateTime.Day, hour, minute, 0);
    }
Run Code Online (Sandbox Code Playgroud)

谢谢

Igo*_*gor 5

您的逻辑没有意义,如果分钟数大于0,则仅添加分钟数,如果分钟数为0,会发生什么?

要增加时间,请使用类型定义中内置的方法,而无需重新发明轮子。例:

public static DateTime Add15Minutes(this DateTime dateTime)
{
    return dateTime.AddMinutes(15);
}
Run Code Online (Sandbox Code Playgroud)