文本框日期验证
本文关键字:验证 日期 文本 | 更新日期: 2023-09-27 18:03:10
我使用以下代码进行短日期验证。
DateTime dt = DateTime.Now;
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
if (DateTime.TryParse(textBox1.Text, out dt))
{ textBox1.Text = dt.ToShortDateString(); }
但是有一个小问题,如果用户输入1/1/1,输出看起来像01/01/2001。
如果用户输入1-1-1,输出看起来像01/01/2001。Because of Format by me.
现在我想要的是,如果用户像1-1-1一样输入,输出应该是01-01-2001
试试这个:
dt.ToString(@"dd-MM-yyyy");
如果你想根据输入来区分输出,我建议这样做:
if (textbox1.Text.Contains("/"))
{
textBox1.Text = dt.ToString(@"dd/MM/yyyy");
}
else
{
textBox1.Text = dt.ToString(@"dd-MM-yyyy");
}
我不明白为什么你在这种情况下使用TextBox而不是MaskedTextBox。我建议你使用MaskedTExtBox。从工具箱中拖放两个MaskedTextBox到窗体中,并在formloaddevent中使用以下代码
maskedTextBox1.Mask = "##/##/####";
maskedTextBox2.Mask = "##-##-####";