如何从 VB.Net 中的日期中删除 00:00:00



我有一个数据表(由数据库使用dataadaptor返回),其DateOfBirth字段在出生日期末尾带有00:00:00。我想删除那些 00:00:00,所以我写了一个函数,但它没有完成这项工作,我不知道为什么。谁能向我建议如何从DateOfBirth中删除00:00:00.我没有数据库或存储过程的权限。

    Dim DOB As New DateTime
    Dim newDob As String = ""
        For Each x In dt.Rows
            If x("DateOfBirth") <> String.Empty AndAlso IsDate(x("DateOfBirth")) Then
                DOB = CDate(x("DateOfBirth"))
                newDob = DOB.ToString("dd/MM/yyyy")
                x("DateOfBirth") = newDob
            End If
        Next

不能从日期中删除00:00:00,只能从日期字符串中删除。您可以像以前一样在显示日期字符串时ToString("dd/MM/yyyy")删除它,但x("DateOfBirth")是一个日期值(如 if 语句中所写),它测量从 1/1/1970 (sql datetime) 或 1/1/0001(sql datetime2 或 c# DateTime 开始的刻度(10 pow -7 秒)。日期值没有任何字符串表示形式,仅当您将其转换为字符串时。

datarow中的DateTime条目实际上是二进制数据的一团。00:00:00只是它的字符串表示形式。您正在做的是将21/1/1978放入日期字段中,但就计算机而言,这与21/1/1978 00:00:00日期相同,因此您正在执行的操作不起作用。

您应该做的是调整日期的显示,当您将日期输出到字符串时,无论您在哪里查看它。在那里,您可以使用.ToString("dd/MM/yyyy")根据需要对其进行格式化。

相关内容

  • 没有找到相关文章

最新更新