DateTime.Now.ToString在VB中没有正确格式化

时间:2016-03-24 09:35:44

标签: sql vb.net

我需要一个日期插入到数据库中,但即使我使用

格式化它
Exportedtime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")
它仍然显示为3/24/2016 09:25:13 AM?因此,当我将其插入MSSQL数据库时,我得到错误:

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

数据库字段是日期时间字段。

有什么想法吗?

由于

3 个答案:

答案 0 :(得分:0)

大家好,感谢您的帮助。 @Alexb提供了我需要执行的提示。

con = New SqlConnection(constring)
con.Open()
Dim cmd As New SqlCommand("Update Scripts set ExportedOn = @exportTime where scriptID = " & scriptID, con)
cmd.CommandType = CommandType.Text
cmd.Parameters.Add("@exportTime", SqlDbType.DateTime).Value = time
cmd.ExecuteNonQuery()
con.Close()

感谢您的帮助。

答案 1 :(得分:-1)

我在应用程序中也遇到了这种格式问题。在对MSSQL中的日期时间格式进行详细研究之后,我想出了这个解决方案。

"CONVERT(datetime,'" + DateTime.Now.ToString("yyyyMMdd HH:mm:ss") + "',112)"

使用上面的字符串插入日期时间值。

在此处阅读有关转换功能的更多信息 - https://msdn.microsoft.com/en-in/library/ms187928.aspx

答案 2 :(得分:-2)

这是你可以得到的简单方法:)

Dim d As String = "10/05/2016 14:30:06"
MsgBox(CDate(d).ToString("yyyy/MM/dd HH:mm:ss"))