小时和分钟的TimeSpan或DateTime作为参数解析为Ticks



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

  1. First表示小时,maxlength为3,只接受整数。
  2. 秒代表分钟,maxlength为2,regex掩码为最大值59。
<input type="text" id="timeHour" name="timeHour" class="form-control" placeholder="000" maxlength="3" />
<input type="text" id="timeMinute" name="timeMinute" class="form-control" placeholder="00" maxlength="2" />

用于记录用户在某项任务中工作的时间。例如,我工作100小时15分钟,我会在第一个输入中输入100第二个是15。

在我的ActionResult timeHour和timminute是字符串。

我想要得到小时和分钟,然后将它们相加,然后解析为Ticks。

哪个是最好的日期对象?

使用TimeSpan。你不想要约会。

时间间隔。

var ticks = new TimeSpan(hours, minutes, 0).Ticks;

您无法将三位数小时解析为DateTime值。您可以将分钟值解析为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;

最新更新