Jag har en TextBox där användaren skall skriva in ett datum, tex 2003-10-03. Jag vill sedan kontrollera att det är ett giltligt datum, hur gör man detta i C#?? Använder du ASP.Net så kan du placera ut följande valideringskontroll: Tackar. Min lösning blev:Kontrollera datumformat?
//UJSv: Kontrollera datumformat?
<asp:CompareValidator id="myCustomValidator" runat="server" Operator="DataTypeCheck" Type="Date" ControlToValidate="txtDate" ErrorMessage="Please enter a valid date." Display="Dynamic"></asp:CompareValidator>
Om du inte använder ASP.Net eller vill själv validera ett datum så kan du använda dig av tex regular expressions.
Denna site visar hur du validerar datum i en Win Form application med hjälp av regular expression:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/custcntrlsamp1.asp
Du kan även avnädna dig av Convert.ToDateTime eller DataTime.Parese:
try
{
DateTime myDateTime = Convert.ToDateTime(myTextBox.Text);
//DateTime myDateTime = DateTime.Parse(myTextBox.Text);
}
catch
{
//Gick inte att konvertera, ej ett giltligt datum.
}
/Fredrik Normén NSQUARED2
http://www.nsquared2.netSv: Kontrollera datumformat?
private static bool IsDate(object dt)
{
try
{
System.DateTime.Parse(dt.ToString());
return true;
}
catch
{
return false;
}
}
//UJ