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

时间:2012-09-11 10:28:46

标签: asp.net vb.net date datetime

您好我正在从下面的函数执行存储过程。在所有日期,我在数据表的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()

1 个答案:

答案 0 :(得分:5)

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

您可以为gridview使用列数据格式,我假设 - 没有使用过年龄段 - 以正确输出您想要显示的数据。

这样的东西
<asp:boundfield datafield="date"
    dataformatstring="{0:YYYY-MM-DD}"
    htmlencode="false" />
当然,

将格式字符串替换为您想要的格式字符串。 =)

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