1
我不知道,它被插入到MYSQL數據庫在這種格式如何格式化VB中的一個時間戳:VB:格式化Mysql的時間戳
YYYY-MM-DD 00:00:00
我想:
Dim timestamp As Date = TimeValue(Now)
它將它格式化爲0001-01-01 12:33:38
- 如果yyyy-mm-dd
實際上是正確的日期,則這是正確的。
我不知道,它被插入到MYSQL數據庫在這種格式如何格式化VB中的一個時間戳:VB:格式化Mysql的時間戳
YYYY-MM-DD 00:00:00
我想:
Dim timestamp As Date = TimeValue(Now)
它將它格式化爲0001-01-01 12:33:38
- 如果yyyy-mm-dd
實際上是正確的日期,則這是正確的。
您錯過了這一點。
sql數據庫中的實時時間戳記是從不格式化YYYY-MM-DD 00:00:00
。這就是它們在查詢或數據窗口中的顯示方式。這些值實際上是存儲在二進制格式,通常是不可讀的,雖然mysql可能仍然使用unix時間。
問題是,你甚至不需要知道確切的格式是什麼。這應該由您的數據庫連接提供程序處理,而不是自己格式化。從VB.Net爲mysql正確插入/更新數據庫時間戳應該如下所示:
Dim sql As String = "UPDATE `Table` Set MyColumn= @DateValue WHERE ID= @ID"
Using cn As New MySqlConnection("Your connection string here"), _
cmd As New MySqlCommand(sql, cn)
cmd.Parameters.Add("@DateValue", MySqlDbType.Datetime).Value = Now
cmd.Parameters.Add("@ID", MySqlDbType.Int32).Value = 12345
cn.Open()
cmd.ExecuteNonQuery()
End Using
無需格式化。你也可以只編寫查詢這樣:
Dim sql As String = "UPDATE `Table` Set MyColumn= current_timestamp WHERE ID= @ID"
但如果你真的堅持創建的字符串,它應該是這樣的:
Now().ToString("yyyy-MM-dd HH:mm:ss")
使用這裏提供的格式字符串說明:
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
它可能更容易設置您的MySQL查詢接受任何VB提供的字符串,並將值轉換爲MySQL的DATETIME使用[STR_TO_D ATE](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date) –
我也做了timestamp.ToString,所以它可以是一個字符串和我做完之後是當我得到了問題的輸出。我會寫你的建議嗎? –