delphi分割指定时间段,如何根据一个参数,分割指定时间为N个段procedure Division_time( start_time:TDateTime, end_time:TDateTime, Division_num :integer)
begin
   //start_time 开始时间
   //end_time    结束时间
   //Division_num  分割数
   //大意,将 指定时间内的一小时 分割成4段,每段25分钟
 
end;

解决方案 »

  1.   

    (end_time - start_time) * 24 * 60 / Division_num
      

  2.   


    思路我是有的,假如 当前时间为: 12:00  ,新时间为:13:00如何使用  你给的[(end_time - start_time) * 24 * 60 / Division_num]公式,DELPHI中时间类型为:TDateTime
      

  3.   

    直接用,TDateTime实际是一个浮点值。
      

  4.   

    可以用StrToDateTime先转换下。
    如: 转换成同一天的时间日期
    function ConvertDateTime(time: string): TDateTime;
    begin
      result := StrToDateTime(FormatDateTime('yyyy-mm-dd ',Now)+time+':00');
    end;
      

  5.   


    当前时间为: 12:00  ,新时间为:13:00新时间-当前时间  = 1,将 指定时间内的一小时 分割成4段,每段25分钟
    你的时间采用100进制,4段每段不是15分钟?function ConvertDateTime(time: string): TDateTime;
    begin
      result := StrToDateTime(FormatDateTime('yyyy-mm-dd ',Now)+time+':00');
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      minutes: integer;
      dt1,dt2: TDateTime;
    begin
      dt1 := ConvertDateTime('12:00');
      dt2 := ConvertDateTime('13:00');
      minutes := MinutesBetween(dt1,dt2)+1;
      ShowMessage('每段时间:'+IntToStr(minutes div 4)+'分钟');
    end;
      

  6.   


    当前时间为: 12:00  ,新时间为:13:00新时间-当前时间  = 1,将 指定时间内的一小时 分割成4段,每段25分钟
    你的时间采用100进制,4段每段不是15分钟?function ConvertDateTime(time: string): TDateTime;
    begin
      result := StrToDateTime(FormatDateTime('yyyy-mm-dd ',Now)+time+':00');
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      minutes: integer;
      dt1,dt2: TDateTime;
    begin
      dt1 := ConvertDateTime('12:00');
      dt2 := ConvertDateTime('13:00');
      minutes := MinutesBetween(dt1,dt2)+1;
      ShowMessage('每段时间:'+IntToStr(minutes div 4)+'分钟');
    end;
    谢谢,差不多了,再请教一个问题,但是我想将这个 分割的4个段 时间段,如:
    12:15
    12:30
    12:45
    13:00
    再次增加到控件 ListBox1 中
      

  7.   


    当前时间为: 12:00  ,新时间为:13:00新时间-当前时间  = 1,将 指定时间内的一小时 分割成4段,每段25分钟
    你的时间采用100进制,4段每段不是15分钟?function ConvertDateTime(time: string): TDateTime;
    begin
      result := StrToDateTime(FormatDateTime('yyyy-mm-dd ',Now)+time+':00');
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      minutes: integer;
      dt1,dt2: TDateTime;
    begin
      dt1 := ConvertDateTime('12:00');
      dt2 := ConvertDateTime('13:00');
      minutes := MinutesBetween(dt1,dt2)+1;
      ShowMessage('每段时间:'+IntToStr(minutes div 4)+'分钟');
    end;
    谢谢,差不多了,再请教一个问题,但是我想将这个 分割的4个段 时间段,如:
    12:15
    12:30
    12:45
    13:00
    再次增加到控件 ListBox1 中
    procedure TForm1.Button2Click(Sender: TObject);
    var
      dt1,dt2: TDateTime;
      minutes,i,interval: integer;
    begin
      dt1 := ConvertDateTime('12:00');
      dt2 := ConvertDateTime('13:00');  minutes := MinutesBetween(dt1,dt2)+1;
      interval:= minutes div 4;  for i:=1 to 4 do ListBox1.Items.Add(FormatDateTime('hh:nn',IncMinute(dt1,i*interval)));
    end;
      

  8.   

    delphi分割指定时间段,如何根据一个参数,分割指定时间为N个段procedure Division_time( start_time:TDateTime, end_time:TDateTime, Division_num :integer)
    begin
       //start_time 开始时间
       //end_time    结束时间
       //Division_num  分割数
       //大意,将 指定时间内的一小时 分割成4段,每段25分钟
     
       //从 开始时间 开始每25分钟分割一分,直到 结束时间 为止,并添加相关时间到  ListBox1
    end;