繁体   English   中英

日期时间解析引发格式异常错误

[英]Datetime parsing throw Format Exception error

当我将系统日期格式更改为dd/mm/yyyy ,Web应用程序抛出格式错误,错误附加在此处,

在此处输入图片说明

如果系统具有默认日期格式,则可以正常工作。 我也尝试设置字符串格式,但是它也不起作用。 请帮助我纠正问题。

已编辑

这是引发异常的代码

cmd.Parameters.Add("@createdon", SqlDbType.DateTime).Value = DateTime.Parse(createdon);

使用DateTime.Parse() ,如果希望它使用程序运行所处区域性以外的格式来解析日期,则需要指定IFormatProvider作为第二个参数,以指定期望的传入日期格式。

例:

cmd.Parameters.Add("@createdon", SqlDbType.DateTime).Value
   = DateTime.Parse(createdon, new CultureInfo("en-US", true));

这将以dd/MM/yyyy格式(美国的默认格式)解析日期。

通过将代码更正为

cmd.Parameters.Add("@createdon", SqlDbType.DateTime).Value = DateTime.ParseExact(createdon, "MM/dd/yyyy", CultureInfo.InvariantCulture);

因此,它可以在任何系统Datetime设置下正常工作,谢谢大家。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM