正确的日期格式验证日期

时间:2014-03-22 06:43:10

标签: c# asp.net date datetime

Label gdate=(Label)(GridView1.Rows[i].FindControl("Date"));

现在我想要的是确保变量 gdate 中的日期(或值)是有效日期(ShortDate,如 14-03-2014 ),没有时间(不像 14-03-2014 00:00:00 无效

5 个答案:

答案 0 :(得分:1)

如果确切的格式需要检查,请使用DateTime TryParseEaxct

DateTime dateValue
if (DateTime.TryParseExact(gdate.Text, "dd-MM-yyyy", null, 
                       DateTimeStyles.None, out dateValue))
{
    //Date in correct format
    //use dateValue
}
else
{
    //Date in incorrect format
}
如果无法解析日期时间,

Convert.ToDateTime将抛出异常。

如果ParseExact控件中的日期字符串为空,

Date也会抛出异常。

答案 1 :(得分:0)

这里有一个CustomValidator:

<asp:CustomValidator runat="server"
    ID="valDateRange" 
    ControlToValidate="txtDatecompleted"
    onservervalidate="valDateRange_ServerValidate" 
    ErrorMessage="enter valid date" />

服务器端:

protected void valDateRange_ServerValidate(object source, ServerValidateEventArgs args)
{
    DateTime minDate = DateTime.Parse("1000/12/28");
    DateTime maxDate = DateTime.Parse("9999/12/28");
    DateTime dt;

    args.IsValid = (DateTime.TryParse(args.Value, out dt) 
                    && dt <= maxDate 
                    && dt >= minDate);
}

答案 2 :(得分:0)

您可以使用短日期功能作为日期格式,例如

 DateTime dt=new DateTime();
 dt = DateTime.Now;
 MessageBox.Show(dt.ToShortDateString());

答案 3 :(得分:0)

试试这个

gdate.Text = DateTime.Now.Date.ToShortDateString();

答案 4 :(得分:0)

尝试使用此格式存储格式化日期