为什么我在数据表中的日期结束时收到00:00:00?asp.net

law*_*tog 0 vb.net asp.net datetime date

嗨我正在从下面的函数执行存储过程.在所有日期,我在数据表的19:12:2012 00:00:00结束时间.该列在数据库中定义为Date,并在SP中作为Date返回.为什么我会在约会结束时收到00:00:00?

谢谢.

示例代码.

    Dim dt As New DataTable
    Dim da As New SqlDataAdapter
    Dim con As New SqlConnection(_conString)
    Dim SelectCommand As New SqlCommand()

        With SelectCommand                

            .Parameters.Add(New SqlParameter(_strAcademicYear, SqlDbType.Int))
            .Parameters(_strAcademicYear).Value = _AcademicYear

            .CommandText = "[Teacher].[GetDate]"
            .CommandType = CommandType.StoredProcedure
            .Connection = con
        End With

        da.SelectCommand = SelectCommand
        con.Open()
        da.Fill(dt)
        con.Close()
Run Code Online (Sandbox Code Playgroud)

J. *_*een 5

因为在你的数据表中,它是一个DateTime.日期没有CLR类型.非时间指定日期的默认时间是午夜 - 00:00:00.

您可以为gridview使用列数据格式,我假设 - 没有使用多年的一个 - 以正确输出您想要显示的数据.

就像是

<asp:boundfield datafield="date"
    dataformatstring="{0:YYYY-MM-DD}"
    htmlencode="false" />
Run Code Online (Sandbox Code Playgroud)

当然,用你想要的格式字符串替换格式字符串.=)

(标签根据chridam的评论更新)