• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi修改系统时间格式为:'yyyy-MM-ddHH:mm:ss','yyyy''年''M''月''d''日''' ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

  声明:

//记录系统日期格式:
GSysShortDate, GSysLongDate, GSysTimeFormat: string;

//获取系统日期格式:
procedure GetSysDateTimeFormat();
//设置系统日期格式:
procedure SetSysDateTimeFormat(GSysShortDate, GSysLongDate, GSysTimeFormat: string);

 

实现:
//获取系统日期格式:
procedure GetSysDateTimeFormat();
var

  i: Integer;
  buf: PChar;  
begin
  getmem(buf, 100);
  i := 100; // i必须在调用前赋值为buf缓冲区的长度。如果设为0或负值,将取不到设置的值
  GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, buf, i); // 取当前用户设置,短日期格式。
  GSysShortDate := string(buf);
  i := 100;
  GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLONGDATE, buf, i); // 取长日期格式
  GSysLongDate := string(buf);
  i := 100;
  GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STIMEFORMAT, buf, i); // 取时间格式
  GSysTimeFormat := string(buf);
  freemem(buf);
end;

 

// 设置系统日期格式:
procedure SetSysDateTimeFormat(GSysShortDate, GSysLongDate, GSysTimeFormat: string);
var
  p: DWord;
begin
  SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, PChar(GSysShortDate)); // 短日期
  SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLONGDATE, PChar(GSysLongDate));
  SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STIMEFORMAT, PChar(GSysTimeFormat)); // 设置时间
  SendMessageTimeOut(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0, SMTO_ABORTIFHUNG, 10, p);
  // 设置完成后必须调用,通知其他程序格式已经更改,否则即使是程序自身也不能使用新设置的格式
end;

 

使用:
GetSysDateTimeFormat();
if GSysShortDate <> 'yyyy-MM-dd' then
SetSysDateTimeFormat('yyyy-MM-dd', 'yyyy''年''M''月 ''d''日''', 'HH:mm:ss');


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap