支票日期大写转换
?Clear
?Date2Chinese({^2010-6-4},"yyyymmdd")
?Date2Chinese({^2009-01-15},"yyyymmdd")
?Date2Chinese({^2009-10-20},"yyyymmdd")
*!* ====================================================
*!* 作 用:支票日期大寫轉(zhuǎn)換
*!* 語 法:Date2Chinese(d日期,c輸出格式)
*!* 參數(shù)說明:d日期:日期型日期格式,如 2010/06/04或 2010-6-4; c輸出格式:字符型,yyyymmdd輸出年月日,mm輸出月,dd輸出日
*!* 返 回 值:字符型
*!* 作 者:十豆三,感謝網(wǎng)友 dragon_zone(本函數(shù)通過參考dragon_zone的代碼后優(yōu)化而來)
*!* 日 期:2010-06-04
*!* 參考網(wǎng)頁:http://hi.baidu.com/dragon_zone/blog/item/6ee6a544edd36383b3b7dc40.html
*!* ====================================================
Function Date2Chinese(tdDate,tcFormat)
??? * 票據(jù)的出票日期必須使用中文大寫。為防止變造票據(jù)的出票日期;
??? * 在填寫月、日時,月為壹、貳和壹拾的,日為壹至玖和壹拾、貳拾和叁拾的,應在其前加“零”;
??? * 日為拾壹至拾玖的,應在其前加“壹”。如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)
??? *轉(zhuǎn)換年
??? lcYear=num(lnYear/1000+1)+num(Mod(lnYear/100,10)+1)+num(Mod(lnYear/10,10)+1)+num(Mod(lnYear,10)+1)
??? *轉(zhuǎn)換月
??? 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
??? *轉(zhuǎn)換日
??? 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
總結(jié)
- 上一篇: 如何有效解决C与C++的相互调用问题
- 下一篇: Github远程仓库管理