我将这个2017-02-13T00:00:00 + 08:00的datetime作为xml文件中的字符串。我想将它转换为yyyyMMdd为整数。
这就是我的尝试:
Integer.Parse(myRow("ENT_DATE").ToString("yyyy") & myRow("ENT_DT").ToString("MM") & myRow("ENT_DT").ToString("dd"))
但它返回错误。 Conversion from string "yyyy" to type 'Integer' is not valid.
myRow("ENT_DATE")
请参阅2017-02-13T00:00:00+08:00
答案 0 :(得分:2)
问题是Item
的{{1}}属性会返回DataRow
引用,因此您没有调用正确的Object
方法。该代码应为:
ToString
您首先将字段值转换为CInt(CDate(myRow("ENT_DATE")).ToString("yyyyMMdd"))
类型,然后调用正确的Date
方法。
答案 1 :(得分:0)
使用.ToString("yyyy")
仅适用于DateTime值,而不适用于字符串。
最简单的方法可能是使用Left()和Replace()获取所需的数字,然后将它们转换为Integer值,如下所示:
CInt(Left(myRow("ENT_DATE"), 10).Replace("-", ""))
无论为应用程序设置了什么时区,这都会为给定输入生成20170213
。