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

本文关键字:输入 时间 格式 文本 何检查 检查 | 更新日期: 2023-09-27 18:25:18

我有一个名为HourTbtextbox。我从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";
        }

我现在面临的问题是如何在TextChangedEvent:中检查输入到HourTb的值是否正确

  • 如果输入>12或仅输入=00或0,则HourTb.Text = string.Empty;
  • 如果输入是个位数(例如9),则HourTb.Text = "09";

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

要获得12小时格式的时间,可以使用

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

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

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

hh将使用从01到12的12小时时钟为您提供时间。

HH将使用从00到23的24小时时钟为您提供时间。