我是VB.NET的初学者&我被困在一个非常简单的事情,日期格式。
我正在开发一个应用程序,它将excel表中的数据上传到sql server数据库。只有在mm / dd / yyyy格式下,应用程序才会接受日期。它应该拒绝所有日期。
现在我正在努力检查它的格式。这是我的代码。
Dim ROHSDate As String
ROHSDate = Trim(filterString(holdingTank))
...
here i need to check if it is in mm/dd/yyyy format
请帮忙。
答案 0 :(得分:7)
使用DateTime.TryParseExact
,它允许您指定格式 - 它将尝试解析它,在成功时将解析后的值放入输出参数,并返回成功/失败:
Dim dt As DateTime
If (DateTime.TryParseExact(ROHSDate, "mm/dd/yyyy", \
CultureInfo.InvariantCulture, \
DateTimeStyles.None, \
Out dt))
UseDateTime(dt)
End If
显然,如果需要,请添加Else
子句等。
(我相信在现代VB中,线路延续可能是不必要的,但是嘿......希望你能明白这一点。)
请注意,我已明确使用CultureInfo.InvariantCulture
,因此如果代码在使用不同日期分隔符或不同日历的计算机上运行,则不会产生任何差异。