100分请问: 想改变 TDateTimePicker中日期的显示为yymmdd的格式(100分)

  • 主题发起人 主题发起人 墨剑
  • 开始时间 开始时间
我服了楼主了,不是一般的菜啊!
楼上都没有骗你TDatetimePicker有Format属性,抓图为证:
http://awen.cnunder.com/images/delphi.gif
 
在Delphi7,xp下通过
datetimepicker1.Format:='yymmdd';
 
安装ExpressQuantumGrid 4 Suite的后,启动DELPHI6的时候提示"无法定位程序入口@variant@...@findVarData@.....@variant",进入后,发现ExpressQuantumGrid 4 Suite并没有安装成功,这是为什么? 请求指教
 
在TDatetimePicker的format属性里设为yyyy-mm-dd就OK了!
 
其实你们都是在骗楼主,你们看看twos贴的关于TDateTimePicker.Format的帮助提示就知道了,就算在delphi7中,你们的结果也是错误的。

因为TDatetimePicker调用的是windows的标准控件,他的日期时间设置格式与delphi中稍有不同。月应该用MM表示,如果用mm则表示分钟。

所以,所有告诉楼主用'yymmdd'的全是错误的,应该是'yyMMdd'。
 
这个问题楼主应该自己看得出来,否则就太菜了。
 
TYZhang的答案正确 TDataTimePicker.Format:= 'yy/MM/dd'

(*
D7.CommCtrl.pas.6273
// Message constants
{$EXTERNALSYM DTM_FIRST}
DTM_FIRST = $1000;
{$EXTERNALSYM DTM_GETSYSTEMTIME}
DTM_GETSYSTEMTIME = DTM_FIRST + 1;
{$EXTERNALSYM DTM_SETSYSTEMTIME}
DTM_SETSYSTEMTIME = DTM_FIRST + 2;
{$EXTERNALSYM DTM_GETRANGE}
DTM_GETRANGE = DTM_FIRST + 3;
{$EXTERNALSYM DTM_SETRANGE}
DTM_SETRANGE = DTM_FIRST + 4;
{$EXTERNALSYM DTM_SETFORMATA}
DTM_SETFORMATA = DTM_FIRST + 5;
{$EXTERNALSYM DTM_SETMCCOLOR}
DTM_SETMCCOLOR = DTM_FIRST + 6;
{$EXTERNALSYM DTM_GETMCCOLOR}
DTM_GETMCCOLOR = DTM_FIRST + 7;
{$EXTERNALSYM DTM_GETMONTHCAL}
DTM_GETMONTHCAL = DTM_FIRST + 8;
{$EXTERNALSYM DTM_SETMCFONT}
DTM_SETMCFONT = DTM_FIRST + 9;
{$EXTERNALSYM DTM_GETMCFONT}
DTM_GETMCFONT = DTM_FIRST + 10;
{$EXTERNALSYM DTM_SETFORMATW}
DTM_SETFORMATW = DTM_FIRST + 50;
{$EXTERNALSYM DTM_SETFORMAT}
DTM_SETFORMAT = DTM_SETFORMATA;
*)

(*
D7.ComCtrls.pas.21661
procedure TDateTimePicker.SetFormat(const Value: String);
begin
if FFormat <> Value then
begin
FFormat := Value;
SendMessage(Handle, DTM_SETFORMAT, 0 , Integer(PChar(FFormat)));
end;
end;
*)

procedure SetDTPFormat(dtp: TDateTimePicker; Format: string);
const
D5_DTM_FIRST = $1000;
D5_DTM_SETFORMATA = D5_DTM_FIRST + 5;
D5_DTM_SETFORMAT = D5_DTM_SETFORMATA;
begin
SendMessage(dtp.Handle, D5_DTM_SETFORMAT, 0 , Integer(PChar(Format)));
end;

procedure InitDTP;
begin
SetDTPFormat(Form1.DateTimePicker1, 'yyDDmm');
end;
 
mm是分钟
to zjan521 楼主要的是 040501
 
唉,在delphi5中,怎么就是没有一个可行的答复呢?
 
在TDateTimePicker的format属性中输入yymmdd就可以了
其中的mm要改成大写的MM不然就会出错,月的显示不对,这是因为这个控件中的hh:mm:ss中的分钟用的是小写的mm,其中的月MM要和这个分钟的mm区分开
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
922
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
swish
S
后退
顶部