VBA:日期转换工具

 刘相涛   2017-06-26 13:36   157 人阅读  0 条评论
输出日期为输入日期的第二天,如果是月末则输出日期=输入日期,另对外输出格式化。
'****************************
'日期格式转换'
'作者:刘相涛
'入参:待处理日期yyyymmdd;待处理日dd
'返回:转换后日期yyyy-mm-dd
'***************************
Function Datatransfer(KJDate As String, LastDate As String) As String
    'Dim Datatransfer As String
    '日期转换,分别针对31天、30天、28天的月份,如果支付日期为月末最后一天,则T+0,否则T+1
    Select Case LastDate
        '一三五七八十腊  31天
        Case "01", "03", "05", "07", "08", "10", "12"
            If Right(KJDate, 2) <> "31" Then
                Datatransfer = Left(KJDate, 4) & "/" & Mid(KJDate, 5, 2) & "/" & CInt(Right(KJDate, 2)) + 1
            Else
                Datatransfer = Left(KJDate, 4) & "/" & Mid(KJDate, 5, 2) & "/" & CInt(Right(KJDate, 2))
            End If
            '四六九冬 30天
        Case "04", "06", "09", "11"
            If Right(KJDate, 2) <> "30" Then
                Datatransfer = Left(KJDate, 4) & "/" & Mid(KJDate, 5, 2) & "/" & CInt(Right(KJDate, 2)) + 1
            Else
                Datatransfer = Left(KJDate, 4) & "/" & Mid(KJDate, 5, 2) & "/" & CInt(Right(KJDate, 2))
            End If
        '只有二月28天
        Case "02"
            If Right(KJDate, 2) <> "28" Then
                Datatransfer = Left(KJDate, 4) & "/" & Mid(KJDate, 5, 2) & "/" & CInt(Right(KJDate, 2)) + 1
            Else
                Datatransfer = Left(KJDate, 4) & "/" & Mid(KJDate, 5, 2) & "/" & CInt(Right(KJDate, 2))
            End If
        Case Else '
    End Select
End Function
本文地址:https://www.itker.me/index.php/post/339.html
版权声明:本文为原创文章,版权归 刘相涛 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?