将对象转换为datetime

时间:2011-11-03 15:06:01

标签: asp.net vb.net

我在将日期对象转换为实际日期时遇到问题。

我正在读取数据表中的值,并将它们发送到JavaScriptSerializer,以便我可以在名为fullCalendar的开源日历中使用这些值。

问题是,JavaScriptSerializer的提要包含日期和布尔值。

我的代码如下所示:

        Dim rows As New List(Of Dictionary(Of String, Object))
    Dim row As Dictionary(Of String, Object)
    For Each dr2 As DataRow In table.Rows
        row = New Dictionary(Of String, Object)
        For Each col As DataColumn In table.Columns
            If TypeOf (dr2(col)) Is DateTime Then
                dr2(col) = Convert.ToDateTime(dr2(col))
            End If
            row.Add(col.ColumnName, dr2(col))
        Next
        rows.Add(row)
    Next

    Dim serializer As New JavaScriptSerializer()
    Dim jsonEvents As String = serializer.Serialize(rows)
    Return jsonEvents

它运行时没有任何错误,并且所有值看起来都很好,除了日期值。它们看起来很奇怪:“\ / Date(1313409600000)\ /”。它们看起来像数据库中的常规日期,所以我不确定这里有什么。

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是.NET 3.5或更高版本且列为DATETIME类型,则应该能够执行此操作:

Dim dt As DateTime = dr.Field(Of DateTime)("DateColumn")