首页 > 解决方案 > vb.net - 将数据表的日期时间列格式化为 yyyy/MM/dd HH:mm 字符串

问题描述

我似乎无法弄清楚代码中有什么问题。这是查看错误消息、代码和变量内容的屏幕截图。

和代码的更大部分:

       For Each value As DataColumn In dt2.Columns
                    If value.DataType = System.Type.GetType("System.DateTime") Then
                        dq = dq & value.ColumnName & " = '" & r2.Item(value.ColumnName).ToString("yyyy/MM/dd HH:mm:ss") & "' and "
                    End If

            Next

在此处输入图像描述

我究竟做错了什么?

标签: stringvb.netdatetimedate-conversion

解决方案


那只是编译,因为您有 Option Strict Off(禁止执行)。您必须将返回的 Objectr2.Item(value.ColumnName)转换为Date. 这也解决了这个问题,您可以使用Field

r2.Field(Of Date)(value.ColumnName).ToString("yyyy/MM/dd HH:mm:ss")

由于您是德国人,请注意您的格式字符串可能不会给您您期望的内容,而是类似2021.02.23 15:00:24. 如果你想2021/02/23 15:00:24你需要使用ToString("yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture). 见:这里


推荐阅读