即使我只输入单个数据的时间,如何使系统识别?我希望用户能够输入一个数字(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();
答案 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。