打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
支票日期大写转换
  支票日期大写转换 收藏
 Clear
Date2Chinese({^2010-6-4},"yyyymmdd")
Date2Chinese({^2009-01-15},"yyyymmdd")
Date2Chinese({^2009-10-20},"yyyymmdd")
 
*!* ====================================================
*!* 作 用:支票日期大写转换
*!* 语 法:Date2Chinese(d日期,c输出格式)
*!* 参数说明:d日期:日期型日期格式,如 2010/06/04或 2010-6-4; c输出格式:字符型,yyyymmdd输出年月日,mm输出月,dd输出日
*!* 返 回 值:字符型
*!* 作 者:十豆三,感谢网友 dragon_zone(本函数通过参考dragon_zone的代码后优化而来)
*!* 日 期:2010-06-04
*!* 参考网页:http://hi.baidu.com/dragon_zone/blog/item/6ee6a544edd36383b3b7dc40.html
*!* ====================================================
Function Date2Chinese(tdDate,tcFormat)
    * 票据的出票日期必须使用中文大写。为防止变造票据的出票日期;
    * 在填写月、日时,月为壹、贰和壹拾的,日为壹至玖和壹拾、贰拾和叁拾的,应在其前加“零”;
    * 日为拾壹至拾玖的,应在其前加“壹”。如1月15日,应写成零壹月壹拾伍日。再如10月20日,应写成零壹拾月零贰拾日。
    Local num(10),lnYear,lnMonth,lnDay,lcYear,lcMonth,lcDay
    num(1)="零"
    num(2)="壹"
    num(3)="贰"
    num(4)="叁"
    num(5)="肆"
    num(6)="伍"
    num(7)="陆"
    num(8)="柒"
    num(9)="捌"
    num(10)="玖"

    lnYear=Year(tdDate)
    lnMonth=Month(tdDate)
    lnDay=Day(tdDate)

    *转换年
    lcYear=num(lnYear/1000+1)+num(Mod(lnYear/100,10)+1)+num(Mod(lnYear/10,10)+1)+num(Mod(lnYear,10)+1)

    *转换月
    If lnMonth>=10
        If lnMonth=10
            lcMonth="零壹拾"
        Else
            lcMonth="壹拾"+num(Mod(lnMonth,10)+1)
        Endif
    Else
        If lnMonth=1 Or lnMonth=2
            lcMonth="零"+num(Mod(lnMonth,10)+1)
        Else
            lcMonth=num(Mod(lnMonth,10)+1)
        Endif
    Endif

    *转换日
    If lnDay>=10
        If lnDay=10 Or lnDay=20 Or lnDay=30
            lcDay="零"+num(lnDay/10+1)+"拾"
        Else
            lcDay=num(lnDay/10+1)+"拾"+num(Mod(lnDay,10)+1)
        Endif
    Else
        lcDay="零"+num(Mod(lnDay,10)+1)
    Endif
 
    Do Case
        Case tcFormat="yyyymmdd"
            Date2Chinese=lcYear+"年"+lcMonth+"月"+lcDay+"日"
        Case tcFormat="yyyy"
            Date2Chinese=lcYear
        Case tcFormat="mm"
            Date2Chinese=lcMonth
        Case tcFormat="dd"
            Date2Chinese=lcDay
    Endcase

    Return Date2Chinese
Endfunc
 
 
* ---------------------------------------
作者:cb518
Function Date2Chinese(dates)
    Return Chrtranc(Strconv(Padl(dates,4," ")+"年"+Stuffc(Iif(Inlist(Month(dates),1,2,10),"0","")+Trim(Transform(Month(dates)),1,"0")+"月",Iif(Inlist(Month(dates),1,2,10),3,2),0,Iif(Month(dates)>9,"拾",""))+Stuffc(Iif(Inlist(Day(dates),10,20,30) Or Day(dates)<10,"0","")+Trim(Transform(Day(dates)),1,"0")+"日",Iif(Inlist(Day(dates),10,20,30) Or Day(dates)<10,3,2),0,Iif(Day(dates)>9,"拾","")),1),Strconv("0123456789",1) ,"零壹贰叁肆伍陆柒捌玖")
Endfunc

* ---------------------------------------
作者:hahatmp123
Clear
hz_date(Date())
hz_date({^2009-01-15})
hz_date({^2009-10-20})
hz_date({^2009-11-10})
 
Function hz_date
    Lparameters mdate
    cstr1="0123456789"
    cstr2="零壹贰叁肆伍陆柒捌玖"
    myear=Alltrim(Str(Year(mdate)))
    mmont=Alltrim(Str(Mont(mdate)))
    mday=Alltrim(Str(Day(mdate)))
    cyear=Chrtranc(myear,cstr1,cstr2)+"年"
    Cmont=Iif(Len(mmont)=1,"零"+Chrtranc(mmont,cstr1,cstr2),Iif(Substr(mmont,2,1)="0","零"+Substrc(Chrtranc(mmont,cstr1,cstr2),1,1)+"拾",Substrc(Chrtranc(mmont,cstr1,cstr2),1,1)+"拾"+Substrc(Chrtranc(mmont,cstr1,cstr2),2,1)))+"月"
    cday=Iif(Len(mday)=1,"零"+Chrtranc(mday,cstr1,cstr2),Iif(Substr(mday,2,1)="0","零"+Substrc(Chrtranc(mday,cstr1,cstr2),1,1)+"拾",Substrc(Chrtranc(mday,cstr1,cstr2),1,1)+"拾"+Substrc(Chrtranc(mday,cstr1,cstr2),2,1)))+"日"
    cdate=cyear+Cmont+cday
    Return cdate
Endfunc

发表于 @ 2010年08月23日 14:24:00 | 评论( 0 ) | 编辑| 举报| 收藏
旧一篇:WIN API-VFP获得EXE、DLL或ICO文件图标 | 新一篇:获取CSDN论坛帖子列表

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/apple_8180/archive/2010/08/23/5831808.aspx
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
EXCEL2003公式·函数应用大全(1)_太平洋信风
计算机二级 excel 常用函数集锦
ACCESS-VBA编程(1)
用Excel函数自动录入性别和出生年月
Python 1000道练习题(2)
Excel函数应用实例:自动录入性别 - Excel教程,办公软件 - 麦客学吧 | 麦客...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服