日期格式工具类
Imports System.IO
Imports System.Runtime.Serialization.Json
Imports System.Text
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Public Class TestUtil
Public Shared Function DateFormatUtil(ByRef dateStr As String, ByRef DateFormat As String) As String
Try
If dateStr <> "" Then
'截取日期前四位查看是/ 还是 -
Dim dataSplit As String = dateStr.Substring(4, 1)
If dataSplit = "/" Or dataSplit = "-" Then
Return Convert.ToDateTime(dateStr).ToString(DateFormat)
Else
'判断日期格式是 20220903
Dim EndTime As String = CDate(Format(CInt(dateStr), "0000-00-00"))
Return Convert.ToDateTime(EndTime).ToString(DateFormat)
End If
Else
Return ""
End If
Catch ex As Exception
Return String.Empty
End Try
End Function
End Class
以上代码分两个模块 一是 正常的日期格式 2022-08-03 、2022/08/03 这一类日期格式使用Convert.ToDateTime去转化成需要的类型,二是特殊的日期格式 20220803 使用else方法然后进行转化
测试用例
Private Sub TestData()
Dim d1 As String = "20220904"
Dim d2 As String = "2022-09-04"
Dim d3 As String = "2022/09/04"
Dim d4 As String = "2022/9/4"
Dim d5 As String = "2022/09/04 21:40:21"
Dim ret As String = TestUtil.DateFormatUtil(d1, "yyyy-MM-dd")
End Sub
以上是string类型格式的日期进行日期转化
#获取系统当前时间
Dim nowDate As String = Format(Now, "yyyy-MM-dd")