C# - 如何实现DateTime.TryParse 24小时时间格式

时间:2011-06-19 21:50:41

标签: c# .net

有人可以演示如何将DateTime.TryParse实现到我当前的代码中,这会占用整数。例如24小时时间格式23:00

private void textBox2_Validating(object sender, CancelEventArgs e)
{
    int numberEntered;

    if (int.TryParse(textBox2.Text, out numberEntered))
    {
         if (numberEntered < 1 || numberEntered > 28)
         {
              MessageBox.Show("");
              textBox2.Text = 5.ToString();
         }
    }
    else
    {
         MessageBox.Show("");
         textBox2.Text = 5.ToString();
    }
}

3 个答案:

答案 0 :(得分:10)

这应该做你想要的:

    void textBox1_Validating(object sender, CancelEventArgs e)
    {
        DateTime dateEntered;

        if (DateTime.TryParseExact(textBox1.Text, "HH:mm", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out dateEntered))
        {
            MessageBox.Show(dateEntered.ToString());
        }
        else
        {
            MessageBox.Show("You need to enter valid 24hr time");
        }

    }

我建议您阅读DateTime.TryParseExact可用的各种参数,并仔细选择符合您情况的参数。还要查看由此解析生成的实际DataTime对象的值,因为它们也将具有Date部分 - 如果稍后使用此数据(特别是为了比较这些时间),这些细节可能非常重要。

答案 1 :(得分:3)

string strDate = "23:00";
string format = "HH:mm";
DateTime res;
bool success = DateTime.TryParseExact(strDate, format, CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault, out res);

答案 2 :(得分:1)

大家好,我第一次发帖..它对我有用..

DateTime dtSurgStartTime;
bool blnStart = DateTime.TryParseExact(txtSURGERY_START_DATE_TIME.Text, @"dd/MM/yyyy HH:mm", null,
System.Globalization.DateTimeStyles.None, out dtSurgStartTime);