当前位置:网站首页 / VBA编程 / 正文

VBA:日期转换工具

时间:2017年06月26日 | 作者 : 刘相涛 | 分类 : VBA编程 | 浏览: 338次 | 评论 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

推荐您阅读更多有关于“原创VBA编程开源人事考勤,”的文章

猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

名言警句
«   2018年8月   »
12345
6789101112
13141516171819
20212223242526
2728293031
最近发表
随机文章
友情链接