我有c#程序与访问数据库工作。(我有datetime字段在访问-短日期)如何确保程序不会因错误的日期格式而崩溃?
例如:在我的电脑里,日期的格式是:年月日如果我在电脑上运行我的程序,格式是:MM/dd/yyyy程序将崩溃或显示异常结果
是否有通用的解决方案?我可以得到任何c#代码吗?
thanks in advance
在使用DateTime.TryParse
进行解析之前验证您的日期,例如
string myDate = "01/30/1970";
DateTime validDate;
if (DateTime.TryParse(myDate, out validDate))
{
// Good date, now stored in validDate
}
else
{
// Handle/Cleanup bad date.
}
如果您使用System.DateTime,则不需要担心这个问题。Access和。net将日期存储为数值。在前端端,您可以按照自己的喜好设置格式。DateTime可以为你处理本地化问题,所以你不需要做任何特别的事情。
private DateTime ParseDate(string date)
{
DateTime convertedDate;
if (!DateTime.TryParseExact(date, "ddMMyyyy", new CultureInfo("en-US"),
DateTimeStyles.None, out convertedDate))
throw new FormatException(string.Format("Unable to format date:{0}", date));
return convertedDate;
}