string date = txtWorkingDate.Text;
DateTime dateTime = DateTime.MinValue;
if (DateTime.TryParse(date, out dateTime))
{
args.IsValid = true;
}
else
args.IsValid = false;txtWorkingDate.Text类似于"dd.MM.yyyy“,因为如果日期不像"dd.MM.yyyy”,则此验证始终为false。我如何检查像"dd.MM.yyyy","MM/dd/yyyy“这样的日期类型,因为它们都是有效的。
发布于 2010-11-16 07:06:58
通过使用this overload并提供可接受的格式:
string date = txtWorkingDate.Text;
DateTime dateTime;
string[] formats = new[] { "dd.MM.yyyy", "MM/dd/yyyy" };
if (DateTime.TryParseExact(date, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}发布于 2010-11-16 07:07:38
System.Globalization.CultureInfo cultureinfo =
new System.Globalization.CultureInfo("en-gb");
DateTime dt = DateTime.Parse("13/12/2009", cultureinfo); 假设您知道区域性,则需要指定区域性。
发布于 2010-11-16 07:07:55
您可以使用
DateTime.TryParse(
string s,
IFormatProvider provider,
DateTimeStyles styles,
out DateTime result
)过载。
而且,你不需要if,你可以简单地写成
args.IsValid = DateTime.TryParse(...);因为DateTime.TryParse()已经返回了一个布尔值。
https://stackoverflow.com/questions/4189739
复制相似问题