如何检查文本框中的时间输入格式

时间:2015-12-02 15:09:37

标签: c# .net time

我有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中的正确值:

  • 如果输入&gt; 12或输入= 00或0,HourTb.Text = string.Empty;
  • 如果输入是单个数字(例如9),则HourTb.Text = "09";

1 个答案:

答案 0 :(得分:0)

为了获得12小时格式的时间,您可以使用

DateTime.Now.ToString("hh:mm:ss tt")

为了获得24小时格式的时间,您可以使用

DateTime.Now.ToString("HH:mm:ss tt")

hh会给你一个小时,使用从12到12的12小时制。

HH将使用从00到23的24小时制给你一小时。