2

生年月日の終わりにDateOfBirthフィールドがあるデータテーブル(dataadaptorを使用してデータベースから返される)があります。00:00:00それらの00:00:00を削除したいので、関数を作成しましたが、それは機能せず、理由がわかりません。00:00:00からを削除する方法を誰かが私に提案できますかDateOfBirth?データベースまたはストアドプロシージャに対する権限がありません。

    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
4

2 に答える 2

5

日付文字列からだけで00:00:00、日付からを削除することはできません。日付文字列を表示するときに削除できますが、これは日付値(ifステートメントに記述されているとおり)であり、1970年1月1日からのティック(10 pow -7秒)を測定します(sql )または1/1/0001(sqlまたはc#)。日付値には、文字列に変換する場合にのみ、文字列表現はありません。ToString("dd/MM/yyyy")x("DateOfBirth")datetimedatetime2DateTime

于 2012-08-09T10:50:01.090 に答える
1

DateTimeエントリはdatarow、実際にはバイナリデータのブロブです。これ00:00:00は、その文字列表現にすぎません。あなたがしていることは21/1/1978日付フィールドに入力することですが、コンピュータに関する限り、これは21/1/1978 00:00:00あなたがしていることは効果がないのと同じ日付です。

あなたがしなければならないことは、あなたがそれを見ているところならどこでもそれを文字列に出力しているときの日付の表示を調整することです。そこで、を使用し.ToString("dd/MM/yyyy")て必要に応じてフォーマットできます。

于 2012-08-09T10:50:41.853 に答える