很多時候,你自己編寫的程序有特別的日期(時間)格式,與系統默認的不同,這時就需要自動變更系統日期(時間)格式為程序預定的格式。下文將敘述如何取得和設置系統日期(時間)格式。
程序原型:
//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}
參數解析:
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(让思想飞翔)