在delphi中如何更改NT的区域中的时间格式和分隔符(100分)

  • 主题发起人 主题发起人 wyw
  • 开始时间 开始时间
W

wyw

Unregistered / Unconfirmed
GUEST, unregistred user!
原来的是XX.XX.XX<br>我想在程序中将其该为XXXX-XX-XX,有什么函数或API 吗?
 
手动修改注册表<br>&nbsp; MyRegistry : TRegistry;<br>begin<br>&nbsp; with MyRegistry do<br>&nbsp; &nbsp; try<br>&nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp; RootKey := HKEY_CURRENT_USER;<br>&nbsp; &nbsp; &nbsp; if OpenKey('Control Panel/International',false ) then<br>&nbsp; &nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; &nbsp;if length(ReadString('sShortDate'))&lt;&gt;10 then<br>&nbsp; &nbsp; &nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RegsShortDate:=ReadString('sShortDate');<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WriteString('sShortDate','yyyy/MM/dd');<br>&nbsp; &nbsp; &nbsp; &nbsp;end;<br>&nbsp; &nbsp; &nbsp; end;<br>&nbsp; &nbsp; &nbsp; CloseKey;<br>&nbsp; &nbsp; &nbsp; free;<br>&nbsp; &nbsp; end;
 
&gt;&gt;我想在程序中将其该为XXXX-XX-XX,<br>程序中要实现这个只要加上LongDateFormat := 'yyyy-mm-dd'和ShortDateFormat := 'yyyy-mm-dd'就可以了.<br>
 
试试 DateSeparator:='-';<br>&nbsp; &nbsp; &nbsp;ShortDateFormat:='yyyy-mm-dd';<br>&nbsp; &nbsp; &nbsp;shorttimeformat:='hh:nn';<br>&nbsp; &nbsp; &nbsp;longtimeformat:='hh:nn';
 
你是想彻底更改区域设置还是因为程序中需要某种特定格式的时间,如果是后者,不用修改<br>注册表那么麻烦,直接用FORMATDATETIME不就结了,更何况你的程序在客户的机器上来回改<br>注册表并不是件好事,特别是一些系统服务,保不齐就有其他程序需要这些系统服务支持,<br>客户可不一定明白注册表怎么改。
 
多人接受答案了。
 
后退
顶部