设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1196|回复: 4
打印 上一主题 下一主题

[帮助] 拜求 日期大小写转换 js开发的

[复制链接]
跳转到指定楼层
1#
发表于 2011-11-8 10:44:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如  2011-11-11
         贰零壹壹年 壹拾壹月 零壹 号
就支票上的写法
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-11-8 15:44:47 | 只看该作者
'小写日期转大写
Function Date2Chinese(iDate As Date, iFormat As Byte) As String
'参数:iDate 指定日期;iFormat 指定格式,0 年月日,1年,2年月,3月日,4月,5日
    Dim num(10)
    Dim iYear
    Dim iMonth
    Dim iDay
    Dim y, M, d
    num(0) = "零"
    num(1) = "壹"
    num(2) = "贰"
    num(3) = "叁"
    num(4) = "肆"
    num(5) = "伍"
    num(6) = "陆"
    num(7) = "柒"
    num(8) = "捌"
    num(9) = "玖"
    iYear = Year(iDate)
    iMonth = Month(iDate)
    iDay = Day(iDate)
    y = num(iYear \ 1000) + num((iYear \ 100) Mod 10) + num((iYear \ 10) Mod 10) + num(iYear Mod 10)
    If iMonth >= 10 Then
        If iMonth = 10 Then
            M = "零" + "壹" + "拾"
        Else
            M = "壹" + "拾" + num(iMonth Mod 10)
        End If
    Else
        M = "零" + num(iMonth Mod 10)
    End If
    If iDay >= 10 Then
        If iDay = 10 Then
            d = "零" + "壹" + "拾"
        ElseIf iDay = 20 Or iDay = 30 Then
            d = "零" + num(iDay \ 10) + "拾"
        ElseIf iDay > 20 Then
            d = num(iDay \ 10) + "拾" + num(iDay Mod 10)
        Else
            d = "壹" + "拾" + num(iDay Mod 10)
        End If
    Else
      d = "零" + num(iDay Mod 10)

    End If
    Select Case iFormat
    Case 0
        Date2Chinese = y & "年" & M & "月" & d & "日"
    Case 1
        Date2Chinese = y & "年"
    Case 2
        Date2Chinese = y & "年" & M & "月"
    Case 3
        Date2Chinese = M & "月" & d & "日"
    Case 4
        Date2Chinese = M & "月"
    Case 5
        Date2Chinese = d & "日"
    End Select
   
End Function
3#
发表于 2011-11-8 16:36:35 | 只看该作者
本帖最后由 todaynew 于 2011-11-8 16:39 编辑
yanghua1900363 发表于 2011-11-8 15:44
'小写日期转大写
Function Date2Chinese(iDate As Date, iFormat As Byte) As String
'参数:iDate 指定日 ...


不需要这么多代码,呵呵。

Function strNew(strOld As String, str As String)
    strOld = Replace(strOld, 0, "零")
    For i = 1 To 9
      strOld = Replace(strOld, i, Choose(i, "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"))
    Next
    strOld = Replace(strOld, str, "年", 1, 1)
    strOld = Replace(strOld, str, "月", 1, 1)
    strOld = strOld & "日"
    strNew = strOld
End Function
4#
发表于 2011-11-9 10:47:39 | 只看该作者
哇  代码又精简了 谢谢!

点击这里给我发消息

5#
发表于 2011-11-9 10:58:39 | 只看该作者
todaynew 发表于 2011-11-8 16:36
不需要这么多代码,呵呵。

Function strNew(strOld As String, str As String)

老汉的代码虽精简,可惜这支票拿到银行不能用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 01:36 , Processed in 0.083688 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表