十年

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

        很多時候,你自己編寫的程序有特別的日期(時間)格式,與系統默認的不同,這時就需要自動變更系統日期(時間)格式為程序預定的格式。下文將敘述如何取得和設置系統日期(時間)格式。
        程序原型:
        //uses windows;
        function GetLocaleInfo(Locale: LCID; LCType: LCTYPE; lpLCData: PChar; cchData: Integer): Integer; stdcall;                                                         
                {按LCType的格式得到系統目前日期(或時間)字串,可以從lpLCData中取得,使用前須預先分配存放lpLCData的空間(用SetLength(sFormatString,length)),並且length應等於系統定義的LCType格式的長度(如系統日期格式為:yyyy-mm-dd,則length設置為10)} 
     
        function SetLocaleInfo(Locale: LCID; LCType: LCTYPE; lpLCData: PChar): BOOL; stdcall; 
                {設置系統日期(或時間)格式和值,成功返回true} 

        參數解析:
                

  Locale: 系統的時區,默認可設為LOCALE_SYSTEM_DEFAULT
  LCType: 系統日期(或時間)格式,如以下值:
    LOCALE_SSHORTDATE { short date format string }
       LOCALE_SLONGDATE { long date format string }
    LOCALE_STIMEFORMAT { time format string }
  lpLCData:日期(或時間字符串)
  cchData:等於分配給lpLCData的長度,小於會造成字符丟失


        舉例說明:
 

//得到當前系統默認時區的日期
procedure GetDateFormat;
var
  sFormatDate:
String;
begin
  SetLength(sFormatDate,
17);//中文時區
  GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SLONGDATE ,PChar(sFormatDate),
17);
end;

//設置系統日期格式為yyyy-mm-dd
procedure SetDateFormat;
begin
  SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SLONGDATE, PChar(
'yyyy-mm-dd'));
end;



        文章出处:http://www.cnblogs.com Bonny.Wong(让思想飞翔)
posted on 2005-01-14 17:38  留不住的时光  阅读(3678)  评论(4编辑  收藏  举报