2012-04-27 457 views
0

我試圖將字符串轉換爲DateTime,並改變其格式與05/06/2012 12:00:002012-06-05 12:00:00.000數據庫(SQL Server 2008 R2中)DATETIME列類型中進行搜索。原始日期來自日曆!日期時間轉換

我嘗試這樣做:

string Datereturn = row.Cells[9].Text; 

DateTime dategiven = DateTime.ParseExact(Dategiven, 
      "YYYY-MM-DD hh:mm:ss[.nnn]", CultureInfo.InvariantCulture); 

,但它會彈出無效的日期時間的誤差

+0

您應檢查Datereturn的值,以確保其使用的是作爲解析模板的格式相匹配。 – 2012-04-27 15:32:22

+0

此外,SQL Server DATETIME字段將匹配任何有效的字符串日期格式(例如'05/06/12 12:00:00'和'2012-06-05 12:00:00:00'是完全相等的DATETIME值) – 2012-04-27 15:33:35

+0

將值賦給Datereturn,但然後解析Dategiven。假設這是一個錯字,那麼被解析的字符串的值是多少? – stuartd 2012-04-27 15:34:04

回答

1

爲了解析05/06/2012 12:00:00

DateTime dategiven = DateTime.ParseExact(Dategiven, 
     "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture); 

得到不同格式的字符串:

string newFormat = dateGive.ToString("yyyy-MM-dd hh:mm:ss"); 

我建議在MSDN上閱讀Custom Date and Time Format Strings

此外解析和格式化(在問候DateTime)之間的不同:

  • 解析裝置採取的字符串表示日期時間,並從它

  • 格式化DateTime得到一個DateTime對象正在一個DateTime對象並從中獲取一個字符串,根據需要進行格式化。

+0

http://imageshack.us/photo/my-images/710/helpzh.jpg/ – xArd 2012-04-27 16:55:33

0

你可以試試這個

DateTime dategiven = DateTime.ParseExact(Dategiven, "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture); 
+0

http://imageshack.us /photo/my-images/710/helpzh.jpg/ – xArd 2012-04-27 16:54:53