如何从C#中的输入类型时间检索代码背后的值

时间:2019-01-17 08:47:55

标签: c# html

我拥有New Project控件,但是当我输入时间(2:30 PM)时,我会在代码中获取后面的值,例如(1970-01-01T08:30:00.000Z)日期和其他格式的时间。我怎样才能只捕捉给定时间的时间。

aspx:

string input = ...;
ReadOnlySpan<char> inputSpan = input;
int commaPos = input.IndexOf(',');
int first = int.Parse(inputSpan.Slice(0, commaPos));
int second = int.Parse(inputSpan.Slice(commaPos + 1));

JS:

<input type="time">

捕获列表中的JS数据:

<input type="time" value="{{data.EndTime}}"/>

像日期一样随时间变化(1970-01-01T08:30:00.000Z)。

如何从输入类型给定的时间格式中仅捕获时间。

1 个答案:

答案 0 :(得分:0)

在C#中,没有诸如“时间”之类的东西,只有DateTime(您拥有)和TimeSpan(您可以用来表达“两个半小时”,但在这里不是您想要的)。

将DateTime转换为字符串时,应提供一种格式。如果您不这样做(例如,在调试器中查看它),则会得到默认值,如您所见。

要仅获取DateTime的时间部分,可以将其设置为以下格式:

data.EndTime.ToString("h:mm tt");

您可以在日期字符串格式中使用的魔术字母的完整列表在这里:https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

请注意,这为您提供了一个看起来像时间的字符串,但是除了向人显示之外,它没有什么用。

如果您想在代码中使用某些内容,可以访问日期的整数部分,如下所示:

var hour = data.EndTime.Hour;