在我的应用程序中,我尝试从字符串日期格式转换日期时遇到错误,如下所示:
dateFormat = Format(CDate("2014-mar-06"), "MM/dd/yyyy")
错误
Conversion from string "2014-mar-06" to type 'Date' is not valid
仅当我的区域和语言设置是Windows 7中的西班牙语(墨西哥)(或任何西班牙语而非其他语言)时,才会出现此问题。有什么问题以及如何解决这个问题?
答案 0 :(得分:1)
避免像CType
这样的VB6函数,而是使用像TryParse
这样的.NET方法。
此外,CultureInfo.InvariantCulture
还会获取与文化无关的CultureInfo
对象(不变)
试试这个
Dim dateString = "2014-mar-06"
Dim dateValue As DateTime
If DateTime.TryParseExact(dateString, _
"yyyy-MMM-dd", CultureInfo.InvariantCulture, _
DateTimeStyles.None, dateValue) Then
Dim myDate = dateValue.ToString("MM/dd/yyyy") 'Your Date is stored in myDate
Else
'Unable to parse your dateString
End If