如何在程序里将控制面板里的区域设置里的日期里的短日期样式'yy-m-d'改成'yyyy-mm-dd'(50分)

  • 主题发起人 主题发起人 porsche
  • 开始时间 开始时间
P

porsche

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在程序里将"控制面板"里的"区域设置"里的"日期"里的短日期样式
'yy-m-d'改成'yyyy-mm-dd'
?
不知道在注册表哪个位置,
 
用这条语句试一下,ShortDateFormat:='YYYY-MM-DD',希望能对你有点帮助。
 
如果只是为了在程序中使用,而不该控制面板

procedure SetdateFormat;
begin
ShortDateFormat := 'yyyy''-''mm''-''dd'; //设置短日期格式
DateSeparator := '-'; //设置短日期分隔符
LongDateFormat := 'yyyy''-''mm''-''dd'; //设置长日期格式
DateSeparator := '-'; //设置长日期分隔符
ShortTimeFormat := 'hh'':''mm'':''ss'; //设置短时间格式
TimeSeparator := ':'; //设置短时间分隔符
LongTimeFormat := 'hh'':''mm'':''ss'; //设置长时间格式
TimeSeparator := ':'; //设置长时间分隔符
end;

initialization
SetDateFormat;
 
老大,我的意思就是要改注册表
 
通过函数也可以吗:
var
str: string;
//你想要的格式
{如 yy-d-m
  d-yy-m
  m-d-yy
  yy-m-d
  yyyy-m-d
  yyyy-d-m}
begin
str := 'yyyy-m-d';
if SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE , PChar(str)) then
begin
showmessage('set OK,congraduations!');
SendMessageA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
end;
end;
 
只可以该当前登录的
/HKEY_CURRENT_USER/Control Panel/International/
sShortDate "yyyy-MM-dd"
 
接受答案了.
 
谢谢你,nulk ,接着
 
后退
顶部