【发布时间】:2019-12-24 23:29:32
【问题描述】:
如何转换这种字符串格式
03.07.2019
到以下日期格式?
2019-07-03
这就是我从 Soap Services 获得的字符串格式的样子
Public Class ContractBill
Public StartDate As Date
End Class
Dim ctrBill As New ContractBill With {
.StartDate = Convert.ToDateTime(BillingData.START_DATE.ToString("yyyy-MM-dd"))
}
这是我将代码转换为所需格式的尝试,但是使用此 .StartDate 我收到错误:
System.InvalidCastException:“类型为“System.String”的对象无法转换为类型“System.IFormatProvider”。”
如何获得这种日期格式 yyyy-MM-dd?
【问题讨论】:
-
现在是 07 还是 27?无论如何:
Date.ParseExact("03.07.2019", "MM.dd.yyyy", Globalization.CultureInfo.CurrentCulture).ToString("yyyy-MM-dd") -
@JQSOFT 感谢您的帮助,我根据您的代码更正了我的问题,我是否收到此错误?我能做些什么? System.FormatException:“Calendar System.Globalization.GregorianCalendar 不支持字符串表示的 DateTime。”
-
如果要返回
Date类型,请删除ToString(...)。 -
使用此代码,我得到这种格式“03.07.2019 00:00:00”,这不是我想要的 ..StartDate = Date.ParseExact(BillingData.START_DATE, "dd.MM.yyyy ", Globalization.CultureInfo.CurrentCulture),
-
@Michael A
Date没有格式。String可以。您要么想要一个 [非格式化]Date值(可以稍后格式化),要么想要一个格式化的String值。选一个。您的ContractBill类目前显然需要Date,因此您应该按照JQSOFT 的建议删除ToString()调用,然后稍后当您实际显示值时(代码的那部分你没有显示)。
标签: vb.net