来自数据库的日期格式在vb.net中获取错误的日期

时间:2014-03-07 08:31:55

标签: sql .net vb.net parsing date

我从SQL数据库中获取数据,现在我正在尝试将数据转换为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

非常感谢我能得到的所有帮助。

1 个答案:

答案 0 :(得分:4)

首先,数据库中的日期值应该是日期类型,因此当您阅读它们时,将它们读入Date类型变量。

如果您想格式化该日期,可以使用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)