将字符串转换为自定义日期格式出错

时间:2014-03-06 09:34:58

标签: vb.net date region

在我的应用程序中,我尝试从字符串日期格式转换日期时遇到错误,如下所示:

dateFormat = Format(CDate("2014-mar-06"), "MM/dd/yyyy")

错误

Conversion from string "2014-mar-06" to type 'Date' is not valid

仅当我的区域和语言设置是Windows 7中的西班牙语(墨西哥)(或任何西班牙语而非其他语言)时,才会出现此问题。有什么问题以及如何解决这个问题?

1 个答案:

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