2014-03-07 54 views
2

我從SQL數據庫中獲取數據,現在我試圖將數據轉換爲VB.NET中的適當日期變量,但我沒有得到適當的格式。從數據庫來自數據庫的日期格式在vb.net中獲取錯誤的日期

數據:

28-FEB-14 01:00:00:0 
28-FEB-14 13:00:00:0 

試圖將其轉換時,我得到的日期:

2028-02-14 
2028-02-14 12:00:00 

在執行該轉換的代碼:

Dim theDate As DateTime 
    Dim try1 As Date 

    For i As Integer = 0 To batchCount - 1 
     If Date.TryParse(dv(i)(0), theDate) = True Then 
      try1 = theDate.ToUniversalTime() 
     End If 

將不勝感激所有的幫助,我可以得到。

+0

嘗試Date.ParseExact() 有在Si上戰利品milar信息[這裏] [1] [1]:http://stackoverflow.com/questions/2794305/how-to-tryparse-a-single-string-to-datetime-in-dd- mm-yyyy-format-vb-net – userDee

回答

4

首先,數據庫中的日期值應該是日期類型,所以當你讀入它們時,你會將它們讀入日期類型變量。

然後,如果您想格式化該日期可以使用ToString超載

Dim theDate as DateTime = dr.item("date") 
Debug.Writeline(theDate.ToString("yyyy-MM-dd") 

其次,如果日期被存儲爲一個字符串字段在數據庫中(你不應該這樣做,但你可能沒有在這個控制),它應該是在一個特定的格式,所以你可以使用ParseExact將其轉換成日期:

Dim dateString As String 
dateString = DateTime.ParseExact(dr.item("Date"), "dd-MMM-yy HH:mm:ss.f", CultureInfo.CurrentCulture) 
+0

感謝您的快速回復。我試圖解析它,但我得到錯誤「字符串未被識別爲有效的日期時間。」 猜測我在解析上做錯了。 28-FEB-14 01:00:00:0 =「dd-MMM-yy HH-mm:ss:f」,這是不是正確的分析? – Lime3003

+0

再次感謝我一直懷疑我的錯。 dd-MMM-yy HH:mm:ss.f「 – Lime3003