zoukankan      html  css  js  c++  java
  • Delphi 修改系统时间格式为:'yyyy-MM-dd HH:mm:ss', 'yyyy''年''M''月 ''d''日'''

      声明:

    //记录系统日期格式:
    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');

  • 相关阅读:
    正则表达式的单行模式和多行模式
    js 正则匹配(去掉html标签)
    ES6中set和map的区别
    回调函数的使用场合
    javascript逻辑运算符“||”和“&&”
    [bzoj3210]花神的浇花集会
    [bzoj2438][中山市选2011]杀人游戏
    [bzoj2743][HEOI2012]采花
    [luoguP3729]曼哈顿计划EX
    [bzoj4850][Jsoi2016]灯塔
  • 原文地址:https://www.cnblogs.com/acmexyz/p/11933801.html
Copyright © 2011-2022 走看看