熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

將日期轉化為漢語的形式

2022-06-13   來源: Delphi編程 

  在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;

  當然如果能將其嵌套在控件內的話將會更好如果大家有更好的方法的別忘了通知我


From:http://tw.wingwit.com/Article/program/Delphi/201311/25070.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.