日期标准格式 将日期转化为汉语的形式
将日期转化为汉语的形式

在DELPHI中没有直接将日期转化为汉语的形式 用起来很不方便 如 年 月 日 在一些特殊场合需要转化为汉语 二○○一年五月二十三日 在这里有一个函数可以直接进行转化 在这里和大家共享 原代码如下 procedure datechange(var Dyear Dmonth Dday:string; const ADate:Tdatetime); //转化日期 function DCDate(ADate:TDateTime):TDDate;//将时间转化为汉字形式 function DCmonth(DMonth:string):string; //将月转化为汉字形式 function DCDay(DDay:string):string; //将日转化为汉字形式 function DCYear(Dyear:string):string; //将年转化为汉字形式
implementation //以下是实现部分
procedure datechange(var Dyear Dmonth Dday:string; const ADate:Tdatetime); begin Dyear:=formatdatetime( yyyy Adate); Dmonth:=formatdatetime( mm Adate); Dday:=formatdatetime( dd Adate); end;
function TDWF DCDate(ADate: TDateTime):TDDate; var kk:TDdate; sY sM sD:string; begin datechange(sy sm sd Adate); kk year :=dcyear(sy); kk month :=DCmonth(sm); kk day:=DCday(sd); result:=kk; end;
function TDWF DCDay(DDay: string): string; const CDDay:array[ ] of string=( 一 二 三 四 五 六 七 八 九 十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 二十一 二十二 二十三 二十四 二十五 二十六 二十七 二十八 二十九 三十 三十一 ); //日期的汉语表示 var dd:integer; begin dd:=strtoint(DDay); result:=cdday[dd]; end;
function TDWF DCmonth(DMonth: string): string; const CDmonth:array[ ] of string=( 一 二 三 四 五 六 七 八 九 十 十一 十二 ); //月份的汉语表示 var dm:integer; begin dm:=strtoint(DMonth); result:=cDmonth[dm]; end;
function TDWF DCYear(Dyear: string): string; const CDdigit:array[ ] of string=( ○ 一 二 三 四 五 六 七 八 九 ); //数字的汉字表示 var dh dg i:integer; sg ss sb sq:string; Dtmp:string[ ]; begin dh:=length(Dyear); sg:= ;ss:= ;sb:= ;sq:= ; for i:= to dh do //i:= 及 i:=dh+ 时 为开始标志为(# ); begin dtmp:=Dyear[i]; dg:=strtoint(dtmp); case i of : sg:=cddigit[dg]; : ss:=cddigit[dg]; : sb:=cddigit[dg]; : sq:=cddigit[dg]; end; end; result :=sg+ss+sb+sq; end;
lishixinzhi/Article/program/Delphi/201311/25070