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

vb.net - Formatting a datetime column of a datatable to a yyyy/MM/dd HH:mm string

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

以及更大部分的代码:

       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

我做错了什么?

这只是编译,因为你有 Option Strict Off(no-go)。您必须将从 r2.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)。参见:here