我可以从SQL数据库接收数据,并使用以下简单功能格式化日期
If IsDate(item.Text) Then
item.Text = CDate(item.Text).ToShortDateString
End If
是否有等效的时间值,所以我只能显示小时和分钟?像
这样的东西If IsTime(item.Text) Then
item.Text = item.Text.ToString("hh:mm")
End If
答案 0 :(得分:0)
此函数将帮助您识别和解析文本Date
,如果无法解析,则返回Nothing
(因此:不是日期):
''' <summary>
''' Gets the date given a series of predefined formats, as shown in this post:
''' http://stackoverflow.com/questions/16075159/check-if-a-string-is-a-valid-date-using-datetime-tryparse
''' </summary>
Private Function TryGetDate(dateAsString As String) As Date?
Dim formats As String() = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt",
"M/d/yyyy h:mm", "M/d/yyyy h:mm", "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"}
Dim dateValue As Date
If DateTime.TryParseExact(dateAsString, formats, New Globalization.CultureInfo("en-US"), Globalization.DateTimeStyles.None, dateValue) Then
Return dateValue
Else
Return Nothing
End If
End Function
然后,在String.Format
的帮助下,您可以将此日期转换为您想要的格式(在您的情况下:HH:mm
)。这是一个如何工作的例子:
Date? time = TryGetDate(item.Text)
If time IsNot Nothing Then
Dim outputText = String.Format("{0:HH:mm}", time)
End If