DateTimePicker1显示的日期格式是2004-6-11之类的!能不能改一下! (20分)

  • 主题发起人 主题发起人 jericho3164
  • 开始时间 开始时间
J

jericho3164

Unregistered / Unconfirmed
GUEST, unregistred user!
改成2004-06-11,2004-06-06之类的格式?<br>
 
设置其Format属性,可设为:DateTimePicker1.Format := 'yyyy-MM-dd';
 
但是我SHowMessage(DateTimePicker1.date);后还是显示2004-6-12(窗体上显示2004-06-12)
 
把你系统控制面板里的区域设置里的日期格式也设成‘yyyy-MM-dd’吧。
 
不能这么办吧!
 
procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; DateTimePicker1.Format := '2004-06-06';<br>end;
 
那就用Format()之类的函数,我在网吧,没办法查详细格式,你自己查帮助吧。。。
 
ShowMessage(FormatDateTime('YYYYMMDD',DateTimePicker1.Date));
 
ShortDateFormat:='yyyy-mm-dd';
 
procedure TeditForm.TableLogoBeforePost(DataSet: TDataSet);<br>var<br>list:TStringlist;<br>m,y,r:string;<br>begin<br>TableLogo['时间']:=DbCbTime.Text;<br>list:=TStringlist.Create;<br>list.Text:= StringReplace ( dateToStr(DateTimePicker1.date),'-',#13#10, [rfReplaceAll] );<br>y:=list.strings[0];<br>m:=list.strings[1];<br>r:=list.strings[2];<br>if length(y)&lt;3 then y:='20'+y;<br>if length(m)=1 then m:= '0'+m;<br>if length(r)=1 then r:= '0'+r;<br>m:=y+'-'+m;<br>r:=m+'-'+r;<br>TableLogo['日']:=r;<br>TableLogo['月']:=m;<br>TableLogo['年']:=y;<br>list.Destroy;<br>end;
 
format格式都没必要设置,formatdatetime就足够了。<br>ShowMessage(FormatDateTime('YYYY-MM-DD',DateTimePicker1.Date));<br>
 
FormatDateTime('YYYY-MM-DD',DateTimePicker1.Date)
 
如果不想在代码里面到处写 FormatDateTime 的话,就只有改注册表,把系统时间格式改成你想要的样子,如bjaman所说。改法如下(需要引用 Registry ):<br><br>&nbsp; SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, 'yyyy-MM-dd');<br>&nbsp; SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0,0);<br>
 
后退
顶部