0

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

在此处输入图像描述

如果系统有默认的日期格式,它的工作正常。我也尝试格式化字符串,但它也不起作用。请帮我纠正这个问题。

已编辑

这是引发异常的代码

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

2 回答 2

1

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

例子:

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

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

于 2013-08-28T06:04:19.753 回答
0

通过更正代码解决了这个问题,

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

所以它适用于任何系统日期时间设置,谢谢大家。

于 2013-08-28T06:23:08.827 回答