我有一个数据表(由数据库使用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")
根据需要对其进行格式化。