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‘);

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

原文地址:https://www.cnblogs.com/acmexyz/p/11933801.html

时间: 2024-10-12 19:52:51

Delphi 修改系统时间格式为:'yyyy-MM-dd HH:mm:ss', 'yyyy''年''M''月 ''d''日'''的相关文章

java 日期格式转换EEE MMM dd HH:mm:ss z yyyy

SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.ENGLISH);Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");

修改ORACLE-NLS_DATE_FORMAT时间格式的四种方式

改变ORACLE -NLS_DATE_FORMAT中时间显示格式的显示有以下方式: 1.可以在用户环境变量中指定(LINUX). 在用户的.bash_profile中增加两句: export NLS_LANG=AMERICAN       ---要注意这一句必须指定,不然下一句不生效. export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss' 2.在SQLPLUS的glogin.sql文件增加一句: alter session set nls_date_for

Linux怎样修改系统时间

修改linux的时间可以使用date指令 修改日期: 时间设定成2009年5月10日的命令如下: #date -s 05/10/2009 修改时间: 将系统时间设定成上午10点18分0秒的命令如下. #date -s 10:18:00 修改时区: 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai替换当前的/etc/localtime. 修改/etc/sysconfig/clock文件的内容为: ZONE=”Asia/Shanghai” UTC=false A

[转载]如何使Android应用程序获取系统权限来修改系统时间

在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm driver: Permission denied ".这个函数需要root权限或者运行与系统进程中才可以用. 本来以为就没有办法在应用程序这一层改系统时间了,后来在网上搜了好久,知道这个目的还是可以达到的. 第一个方法简单点,不过需要在

Centos修改系统时间

本人在下午在做nginx日志访问实验成功后发生访问的记录的时间不对,故特地在往上搜寻了centos修改系统时间的命名,呵呵.虽然简单,但是以前也曾经操作过,容易忘记,所以还是收藏起来以便以后用的时候忘记呢. #date 查看系统时间 如下图所示 2 #date -s 修改时间 看下面的例子#date -s  03/04/2013(将系统日期设定为2013年03月04日) 3 #date -s  110:38(将系统时间设定为上午 10:38) 4 修改完后执行:clock -w  ,强制将时间写

实例365(2)---------调用系统api修改系统时间

一:截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace SetDate { public partial cl

Linux 自动更新系统及手动查看、修改系统时间

当我们在虚拟机装完一个新的centos系统后,虽然在安装时己在ntp设置中选择了上海,但进入到系统,输入date命令时,查看到的系统时间与现时时间是不一样的,我们可以用以上方法来查看,自动更新和修改系统时间 查看系统时间: [[email protected] ~]# date Sat Mar 25 00:47:59 CST 2017 一. Linux 自动更新时间 使用ntpdate命令进行更新: [[email protected] ~]# ntpdate time.nist.gov 24 

修改系统时间

最近有一项目要求修改系统时间 try { Process process = Runtime.getRuntime().exec("su");     DataOutputStream os = new DataOutputStream(process.getOutputStream()); os.writeBytes("date -s 20150319.024012; \n"); os.writeBytes(lastTime); } catch (Exceptio

Linux系统修改系统时间说明

Linux系统修改系统时间 1.设置时间 [[email protected] ~]# date -s "2015/11/05 15:56:00" #date命令  -s 修改时间 "2015/10/4 21:15"指定的时间 [[email protected] ~]# hwclock #将时间刷新到BIOS Fri 06 Nov 2015 12:04:36 AM CST  -0.651161 seconds 2.与time.nist.gov时间服务器同步 [[e