插入单个整数作为时间函数

时间:2013-12-02 05:49:02

标签: asp.net datetime time

即使我只输入单个数据的时间,如何使系统识别?我希望用户能够输入一个数字(2或3),它会将其识别为02:00或03:00。目前,如果用户插入02或03,它将完美地运行。

starttime = DateTime.ParseExact(txtStart2.Text, "HH", CultureInfo.InvariantCulture);
endtime = DateTime.ParseExact(txtEnd2.Text, "HH", CultureInfo.InvariantCulture);
Label3.Text = starttime.ToShortTimeString();
Label4.Text = endtime.ToShortTimeString();

1 个答案:

答案 0 :(得分:0)

您必须提供单"H"而不是"HH"小时才能接受一位数小时。

starttime = DateTime.ParseExact(txtStart2.Text, "%H%", CultureInfo.InvariantCulture);

修改如果您为小时提供一位数,则会将其视为日期时间格式而不仅仅是小时。

  

如果使用“h”格式说明符而没有其他自定义格式   说明符,它被解释为标准的日期和时间格式   说明符并抛出FormatException,MSDN

要提供单个数字,您必须通过添加%sign

的空格来修改格式字符串
  

自定义日期和时间格式字符串由两个或更多个组成   字符。日期和时间格式化方法解释任何   单字符串作为标准日期和时间格式字符串。如果   它们不会将字符识别为有效的格式说明符   抛出FormatException。例如,包含的格式字符串   只有说明符“h”被解释为标准日期和时间   格式字符串。但是,在这种特殊情况下,例外情况是   抛出因为没有“h”标准的日期和时间格式   符。要使用任何自定义日期和时间格式说明符   格式字符串中唯一的说明符(即使用“d”,“f”,   “F”,“g”,“h”,“H”,“K”,“m”,“M”,“s”,“t”,“y”,“z”,“:”或“ /”   自定义格式说明符),包括之前或之后的空格   说明符,或包含之前的百分比(“%”)格式说明符   单个自定义日期和时间说明符MSDN