我在usercontrol中有一个jquery datepicker。 在usercontrol上,我有一个属性,它将所选日期返回到包含我的usercontrol的页面。
我尝试将字符串转换为日期:
Dim MyDate As System.DateTime = System.Convert.ToDateTime(txtFromDateF.Value, System.Globalization.DateTimeFormatInfo.InvariantInfo)
我一直收到错误:
字符串未被识别为有效的DateTime。
de txtFromDateF =>中的日期23-06-2015
我认为" InvariantInfo"无论我的语言设置如何,我都会确保以正确的格式获取日期。
答案 0 :(得分:1)
System.Globalization.DateTimeFormatInfo.InvariantInfo
不包含格式模式dd-MM-yyyy
(26-06-2015)
来自MSDN关于InvariantCulture
InvariantCulture属性可用于保存数据 与文化无关的格式。这提供了一种已知格式 不要改变
要在将string
转换为DateTime
时使用不变格式,您的字符串值必须使用不变的文化格式模式之一进行格式化。
使用Globalization.DateTimeFormatInfo.InvariantInfo.GetAllDateTimePatterns()
检查/打印所有模式
对于自定义格式化字符串,您可以使用DateTime.TryParseExact方法
Dim datevalue As Stirng = "23-06-2015"
Dim customFormat As String = "dd-MM-yyyy"
Dim yourdate As DateTime
If DateTime.TryParseExact(datevalue,
customFormat,
Globalization.CultureInfo.InvariantCulture,
Globalization.DateTimeStyles.None,
yourdate) = True Then
'Use parsed DateTime value
Else
'Notice about wrong formatted date
End If