我有textbox
调用HourTb
。我从TimeSpan currentTime = DateTime.Now.TimeOfDay;
获取当前时间,以使在12小时格式的时间,这里是我做了什么:如何检查在文本框中输入的时间格式
if (currentTime < TimeSpan.Parse("12:00")) //Morning
{
if (currentTime.Hours.ToString("00") == "00")
HourTb.Text = "12";
else
HourTb.Text = currentTime.Hours.ToString("00");
AmOrPmTb.Text = "AM";
}
else //Afternoon, night
{
HourTb.Text = (currentTime - TimeSpan.Parse("12:00")).Hours.ToString("00"); //12-hour format
AmOrPmTb.Text = "PM";
}
的问题,我现在面对的是如何检查值输入到HourTb
是在TextChangedEvent一个合适的值:
- 如果输入> 12或输入= 00或只有0,
HourTb.Text = string.Empty;
- 如果输入是单个数字(例如9),然后
HourTb.Text = "09";
首先之一;例如,如果你的输入是'13',你的'else'部分将被执行,你的'HourTb.Text'应该是'01'而不是空字符串。这个问题可能在别的地方。请调试您的代码,看看会发生什么。第二个;既然你用'00'格式化你的'9'格式,它就会有一个前导零“09”。这很正常。 –