将DateTime String转换为Integer

时间:2017-02-15 08:35:05

标签: vb.net

我将这个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

2 个答案:

答案 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