我有使用访问数据库的C#程序。 (我有访问日期时间字段 - 短日期) 如何确保程序不会以错误的日期格式崩溃?
例如: 在我的电脑中这种格式的日期:dd / MM / yyyy 如果我在具有这种格式的计算机上运行我的程序:MM / dd / yyyy 程序将崩溃或将显示异常结果
有没有通用的解决方案? 我可以获得任何C#代码吗?
提前致谢
答案 0 :(得分:1)
使用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.
}
答案 1 :(得分:0)
如果您使用System.DateTime,则不必担心这一点。 Access和.Net将日期存储为数值。在前端,您可以根据需要格式化。 DateTime可以为您处理本地化问题,因此您无需做任何特别的事情。
答案 2 :(得分:0)
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;
}