我正在尝试使用下面的代码将日期字符串转换为“dd/MM/yyyy”格式
m_dEDate = Format(CDate(strExpiry), "dd/MM/yyyy")
但是系统出现异常错误-“参数不正确”。如果区域短日期为“dd-MMM-yy”,则没有异常错误。
如果不手动设置区域,我们如何通过编码进行转换?
我们应该使用System.Globalization
吗?如果是这样,请分享我的样本。
我正在尝试使用下面的代码将日期字符串转换为“dd/MM/yyyy”格式
m_dEDate = Format(CDate(strExpiry), "dd/MM/yyyy")
但是系统出现异常错误-“参数不正确”。如果区域短日期为“dd-MMM-yy”,则没有异常错误。
如果不手动设置区域,我们如何通过编码进行转换?
我们应该使用System.Globalization
吗?如果是这样,请分享我的样本。
Dim dateString As String = "06/15/2008"
Dim format As String = "MM/dd/yyyy"
Dim provider As CultureInfo = CultureInfo.InvariantCulture
Dim _NewDate As Date = Date.ParseExact(dateString, format, provider)
看起来您正在尝试更改日期表示的格式,但您还没有告诉我们您要转换的格式是什么。John 的代码正确地显示了如何解析一个值——但看起来这就是你想要的目标值。假设您的输入类似于“2012-11-15”,即 yyyy-MM-dd。然后你会想要:
Dim inputText = "2012-11-15"
Dim inputFormat = "yyyy-MM-dd"
Dim outputFormat = "MM/dd/yyyy"
Dim provider = CultureInfo.InvariantCulture
Dim parsedDate = Date.ParseExact(inputText, inputFormat, provider)
Dim outputDate = parsedDate.ToString(outputFormat, provider)
请注意,此处使用不变的文化将您完全与文化敏感性隔离开来。这实际上是您想要的,还是您可能想根据用户文化来对待您的输入,而不是输出?