我们需要根据特定的文化将系统日期转换为适当的格式 . 我们观察到一种奇怪的行为,因为我们无法将3月份的DateTime转换为意大利文化 .
Try
Dim dt As String = "01-Mar-2016"
Dim culture As New CultureInfo("it-IT")
MsgBox(Convert.ToDateTime(dt, culture).ToShortDateString)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
上面的代码适用于1月,2月,4月,5月,6月,7月,8月,9月,10月,11月和12月,但不仅仅适用于3月 . 这是Windows中的任何现有错误吗?
PS:上面的代码抛出“字符串未被识别为有效的DateTime”异常,但在我们将日期更改为“01-March-2016”时工作正常 .
2 回答
我使用.NET 4.0得到了错误,但它适用于4.5 . 在4.0中,
DateTime.Parse
和Convert.ToDateTime
都失败了 . 我读过后者称之为前者 . 这似乎证实了这一点 . 显然他们意识到了问题并修复了它 .为什么只有三月?这是意大利语中唯一一个月和一天(星期二)的缩写 .
简单快捷的解决方案......