我正在使用DateTime.ParseExact来解析输入中的字符串。确保日期符合一个月或不是一个月的最大天数等规则的最简单方法是什么?
答案 0 :(得分:12)
答案 1 :(得分:2)
正如BoltBait所说,或 DateTime.TryParseExact(),如果你知道字符串的确切格式。
http://msdn.microsoft.com/en-us/library/system.datetime.tryparseexact.aspx
答案 2 :(得分:2)
如果您在代码中执行此检查,那么执行DateTime.TryParse()的答案非常好,但如果您在UI上捕获此数据,那么我会高度推荐在回发之前对输入进行修改发生后面的代码。
<strong>Date:</strong>
<asp:textbox ID="txtEnterDate" runat="server"></asp:textbox>
<asp:CompareValidator ID="cvEnterDate" runat="server" ControlToValidate="txtEnterDate"
ErrorMessage="Must Be Valid Date" Operator="DataTypeCheck"
SetFocusOnError="True" Type="Date"></asp:CompareValidator>
答案 3 :(得分:0)
protected void txtTo_TextChanged(object sender, EventArgs e)
{
TextBox tbTo = (TextBox)sender;
DateTime wsToOUT;
if (DateTime.TryParse(tbTo.Text, out wsToOUT))
{
//do something with valid date in tbTo
}
else
{
//show a nice error message
tbTo.Focus();
}
}