我有这个例子,它给了我异常“从字符串x到dateTime的转换无效”
这是验证日期时间的方法。
示例日期字符串:“27/03/1985”
Public Function validateDateColumn(ByRef FieldName As String) As Boolean
Try
If IsDate(FieldName) Then
Dim actualDate As DateTime = CDate(FieldName)
Dim DtLicExp As DateTime = CDate(actualDate.ToString("d", Thread.CurrentThread.CurrentCulture))
FieldName = DtLicExp.ToString("MM/dd/yyyy")
Return True
End If
Catch ex As Exception
'FieldName &= "Format must be MM/dd/yyyy"
Return False
End Try
End Function
任何想法将此日期字符串格式化为日期时间。
我想将此日期“27/03/1985”转换为日期时间。
我正在使用asp.net和vb.net。
答案 0 :(得分:6)
答案 1 :(得分:1)
此实现将解析格式dd/MM/yyyy
的日期,并根据需要将日期字符串更新为MM/dd/yyyy
。 DateTime.TryParseExact
允许您指定需要解析的日期格式。
Public Function validateDateColumn(ByRef FieldName As String) As Boolean
validateDateColumn = False
Dim dateValue As DateTime
if DateTime.TryParseExact(FieldName, _
"dd/MM/yyyy", CultureInfo.InvariantCulture, _
DateTimeStyles.None, dateValue) Then
validateDateColumn = True
FieldName = dateValue.ToString("MM/dd/yyyy")
End If
End Function
答案 2 :(得分:0)
您可以尝试TryParse
方法。
Dim myDateString as String = "7/7/2010"
Dim myDate as DateTime
Dim isDate As Boolean = DateTime.TryParse(myDateString, myDate)
If isDate Then
' Yay I'm a real date
End If