Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TimeSpan或DateTime(小时和分钟)作为参数解析为刻度_C#_Html_Asp.net_.net_Date - Fatal编程技术网

C# TimeSpan或DateTime(小时和分钟)作为参数解析为刻度

C# TimeSpan或DateTime(小时和分钟)作为参数解析为刻度,c#,html,asp.net,.net,date,C#,Html,Asp.net,.net,Date,我有一个表单,它有两个时间输入: 第一个表示小时,maxlength为3,只接受整数 秒表示分钟,maxlength为2,regex掩码的最大值为59 它用于注册用户在特定任务中工作的时间量。 例如,我工作100小时15分钟,我将在第一个输入中输入100 第二节是15节 在我的ActionResult中,timeHour和timeMinute以字符串形式出现 我想得到小时和分钟的总和,然后将其解析为滴答声 哪一个是最好使用的日期对象?您不能将三位数的小时解析为DateTime值。您可以将分钟

我有一个表单,它有两个时间输入:

  • 第一个表示小时,maxlength为3,只接受整数
  • 秒表示分钟,maxlength为2,regex掩码的最大值为59
  • 
    
    它用于注册用户在特定任务中工作的时间量。 例如,我工作100小时15分钟,我将在第一个输入中输入100 第二节是15节

    在我的ActionResult中,timeHour和timeMinute以字符串形式出现

    我想得到小时和分钟的总和,然后将其解析为滴答声


    哪一个是最好使用的日期对象?

    您不能将三位数的小时解析为
    DateTime
    值。您可以将分钟值解析为
    日期时间
    ,但对内容使用整数值更有意义:

    int hour = Int32.Parse(dateTimeHour);
    int minute = Int32.Parse(dateTimeMinute);
    
    不能使用小时值创建
    DateTime
    值,但可以先创建
    DateTime
    值,然后添加小时。例如:

    DateTime d = new DateTime(1, 1, 1, 0, minute, 0).AddHours(hour);
    
    编辑: 如果您只想得到刻度,可以直接从小时和分钟计算:

    long ticks = (hours * 60 + minutes) * 600000000L;
    
    只需使用一个按钮。你不想约会

    表示时间间隔


    所以理论上你可以输入
    999
    hours?我认为你不想做
    Convert.ToDateTime
    ,我认为你想要一个
    int hour=Convert.ToInt32(dateTimeHour);int minute=…
    然后a
    var time=new TimeSpan(0,hour,minute)
    另外,
    new DateTime()对您意味着什么?是指1/1/0001吗?还是说现在是约会时间?还是别的什么?你现在错过了一个很大的上下文。仍然没有回答我的问题-你到底想完成什么…?@ASh:那么我们谈论的是一个时间跨度(
    TimeSpan
    ),而不是日历日期时间(
    DateTime
    )。所以问题中的全部代码都是无效的。谢谢你的解决方案。但是在小时和分钟变量被解析为Int之前。感谢您的澄清。
    var ticks = new TimeSpan(hours, minutes, 0).Ticks;