Kev*_*Cho 19 c# validation datetime
我想让用户输入DateTime格式,但我需要验证它以检查它是否可以接受.用户可以输入"yyyy-MM-dd"并且没问题,但是他们也可以输入"MM/yyyyMM/ddd"或任何其他组合.有没有办法验证这个?
Han*_*s Z 25
你在找这样的东西吗?
DateTime expectedDate;
if (!DateTime.TryParse("07/27/2012", out expectedDate))
{
Console.Write("Luke I am not your datetime.... NOOO!!!!!!!!!!!!!!");
}
Run Code Online (Sandbox Code Playgroud)
如果您的用户知道所需的确切格式......
string[] formats = { "MM/dd/yyyy", "M/d/yyyy", "M/dd/yyyy", "MM/d/yyyy" };
DateTime expectedDate;
if (!DateTime.TryParseExact("07/27/2012", formats, new CultureInfo("en-US"),
DateTimeStyles.None, out expectedDate))
{
Console.Write("Thank you Mario, but the DateTime is in another format.");
}
Run Code Online (Sandbox Code Playgroud)
小智 6
我假设您想知道指定的格式字符串是否有效...
为此你可以往返它:
private bool IsValidDateFormat(string dateFormat)
{
try
{
String dts=DateTime.Now.ToString(dateFormat);
DateTime.ParseExact(dts, dateFormat, CultureInfo.InvariantCulture);
return true;
}
catch (Exception)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)