大家看看: 
1   edit1.Text:=formatdatetime('yyyy--mm-dd AM/PM',datetimepicker1.Time);
2   edit1.Text:=formatdatetime('yyyy--mm-dd AM/PM',datetimepicker1.Date);
上面2种情况再edit1中显示的内容是一样的,那么time和date到底有什么区别阿?不思其解,
高手帮忙解决!
谢谢!

解决方案 »

  1.   

    顯示的結果和你的format格式一致.
      

  2.   

    datetimepicker1.Time 和datetimepicker1.Date 数据一样。
    都是访问的  TDateTimePicker.FDateTime。
    因为时间是用浮点数表示的。
    日期为整数部分,时间为小数部分。
    如果要单独显示时间和日期请参考下面的内容。 
     edit1.Text := formatdatetime('yyyy--mm-dd  ', datetimepicker1.Time);
      edit2.Text := formatdatetime('hh:mm AM/PM ', datetimepicker1.Date);
      

  3.   

    1   edit1.Text:=formatdatetime( 'yyyy--mm-dd AM/PM ',datetimepicker1.Time); 
    2   edit1.Text:=formatdatetime( 'yyyy--mm-dd AM/PM ',datetimepicker1.Date); 
    'yyyy--mm-dd' 是指年月日,hh:mm是指时分
    楼主要把formatdatetime函数弄清楚。
      

  4.   

    TDateTime,TDate,TTime,3个类型是一样的,Controls.pas中定义:
    TDate = type TDateTime;
    TTime = type TDateTime;ComCtrls.pas中定义:
    TDateTimePicker = class(TCommonCalendar)类TCommonCalendar中定义
    property DateTime: TDateTime read FDateTime write SetDateTime;类TCommonCalendar中定义
    property Date: TDate read GetDate write SetDate;  GetDate函数:
      function TCommonCalendar.GetDate: TDate;
      begin
        Result := TDate(FDateTime);
      end;类TDateTimePicker中定义
    property Time: TTime read GetTime write SetTime;  GetTime函数:
      function TDateTimePicker.GetTime: TTime;
      begin
        Result := TTime(FDateTime);
      end;read的结果是完全相同的,全都是FDateTime;三者的不同在write,LZ去看看SetDateTime、SetDate、SetTime就可以看到区别了,一个是修改全部,一个是修改FDateTime的日期部分,一个是修改FDateTime的时间部分ShowMessage(DateTimeToStr(DateTimePicker1.DateTime));
    DateTimePicker1.DateTime := Now;
    DateTimePicker1.DateTime := StrToDateTime('2007-01-01 01:02:03');//全部修改
    ShowMessage(DateTimeToStr(DateTimePicker1.DateTime));
    DateTimePicker1.DateTime := Now;
    DateTimePicker1.Date := StrToDateTime('2007-01-01 01:02:03');//时间部分会保持不变
    ShowMessage(DateTimeToStr(DateTimePicker1.DateTime));
    DateTimePicker1.DateTime := Now;
    DateTimePicker1.Time := StrToDateTime('2007-01-01 01:02:03');//日期部分会保持不变
    ShowMessage(DateTimeToStr(DateTimePicker1.DateTime));
      

  5.   

    路过,顺问高手们一个问题:先对DateTimePicker1.DateTime赋值,再去手动改变控件上的日期和时间,
    得到的结果是:
    若kind=dtkTime 则得到的日期仍为被赋值后的日期
    若Kind=dtkDate 则得到的时间仍为被赋值后的时间我想同时得到改变后的时间和日期值,请问有什么如何解决???如果事先没有对DateTimePicker1.DateTime赋值则可以同时得到改变后的日期和时间,
    但程序需要对其先赋值