从字符串'31 / 08/2012'到日期的转换无效?

时间:2012-11-21 06:03:29

标签: asp.net sql-server datetime type-conversion

我已经从我的sql server database.i.e在我的网页上绑定了日期。

Convert(CHAR(10), date, 103).

31/08/2012。不是31/08/2012 12:00:00。当我将这个日期插入sql Server时,我收到的错误如转换为字符串'31 / 08/2012'到目前为止无效?我正在使用en-US格式...而且我还将datetimeformat设置为'dd / MM / yyyy'。首先我使用的是en-GB格式。同样的错误来了。之后我将en-GB更改为en-US格式。还是那个错误来了。如何纠正这个错误?

4 个答案:

答案 0 :(得分:1)

您需要根据您在文件后面的代码中的文化来转换日期。

//您输入日期的格式

      string format = "MM/dd/yyyy HH:mm:ss";

//在这里提供您的文化

       CultureInfo c = new CultureInfo("en-US");

// txtDate.Text是您的日期字段

       DateTime concatenatedDate = DateTime.ParseExact(txtDate.Text, format, c);

现在通过cs文件在查询或存储过程中传递此concatenatedDate。 它肯定会对你有用。 欢呼声。

答案 1 :(得分:0)

将日期字符串转换为日期时间,如此

DateTime.ParseExact(dateTimeString, "dd/MM/yyyy", null).ToString("MM/dd/yyyy")

传递给数据库解决问题

更多详情:DateTime.TryParseExact

答案 2 :(得分:0)

DateTime.TryParse(dateTimeString, out dateReturn);

答案 3 :(得分:0)

尝试以"yyyy/MM/dd"格式插入日期。它会起作用。