电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

将日期转化为汉语的形式


发布日期:2018/8/17
 

在DELPHI中没有直接将日期转化为汉语的形式用起来很不方便在一些特殊场合需要转化为汉语二○○一年五月二十三日

在这里有一个函数可以直接进行转化在这里和大家共享原代码如下

procedure datechange(var Dyear DmonthDday: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 DmonthDday:string;

const ADate:Tdatetime);

begin

Dyear:=formatdatetime(yyyyAdate);

Dmonth:=formatdatetime(mmAdate);

Dday:=formatdatetime(ddAdate);

end;

function TDWFDCDate(ADate: TDateTime):TDDate;

var kk:TDdate;

sYsMsD:string;

begin

datechange(sysmsdAdate);

kkyear :=dcyear(sy);

kkmonth :=DCmonth(sm);

kkday:=DCday(sd);

result:=kk;

end;

function TDWFDCDay(DDay: string): string;

const CDDay:array[] of string=(

十一

十二十三十四十五十六十七十八十九

二十二十一二十二二十三二十四二十五二十六

二十七二十八二十九三十三十一); //日期的汉语表示

var dd:integer;

begin

dd:=strtoint(DDay);

result:=cdday[dd];

end;

function TDWFDCmonth(DMonth: string): string;

const CDmonth:array[] of string=(

十一十二); //月份的汉语表示

var dm:integer;

begin

dm:=strtoint(DMonth);

result:=cDmonth[dm];

end;

function TDWFDCYear(Dyear: string): string;

const CDdigit:array[] of string=(

); //数字的汉字表示

var dhdgi:integer;

sgsssbsq: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;

当然如果能将其嵌套在控件内的话将会更好如果大家有更好的方法的别忘了通知我

上一篇:为Windows窗口标题栏添加新按钮

下一篇:利用INI文件实现界面无闪烁多语言切换