Label gdate=(Label)(GridView1.Rows[i].FindControl("Date"));
现在我想要的是确保变量 gdate 中的日期(或值)是有效日期(ShortDate,如 14-03-2014 ),没有时间(不像 14-03-2014 00:00:00 无效)
答案 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)
尝试使用此格式存储格式化日期