delphi 计算加班时间工时的函数  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 计算加班时间工时的函数


function getTaskTimeStr(BigTime, SmallTime : TDateTime;AValue : Integer):string;
var
  t0 : Double;
  t1 : Integer;
begin
  t0 := MinuteSpan(BigTime , SmallTime); //加班工时
  t1 := Trunc( t0 / 60 / 8 );
  Result := IntToStr(t1 + AValue);
end;

function getDateTimeStr(BigTime, SmallTime : TDateTime):string;
var
  t0 : Double;
  t1  : Integer;
  Time: TDateTime;
  Hour: Word;
  Minute : Word;
  Second : Word;
  s : string;

begin
  t0 := MinuteSpan(BigTime , SmallTime); //加班总分钟
  t1 := Trunc( t0 / 60 / 8 );
  t0   := t0 - (t1 * 480);
  Time := StrToTime(TimeToStr(Round( t0 * 60 ) /86400 ));
  Hour := HourOf(Time);
  Minute:=MinuteOf(Time);
  Second:=SecondOf(Time);
  if Hour <> 0 then
  begin
    s := IntToStr(Hour) + ' 小时 ';
  end;

  if Minute <> 0 then
  begin
    s := s + IntToStr(Minute) + ' 分钟';
  end;

  Result := s;
//  Result := FormatDateTime('h 小时 nn 分钟 ss 秒',Time);
end;

function GetOverHour(t0 : Double ;AValue : Integer):string;
var
  t1 : Integer;  //获取加班工时
begin
  t1 := Trunc( t0 / 60 / 8 );
  Result := IntToStr(t1 + AValue);
end;

function GetOverTime(t0 : Double):string;
var
  t1  : Integer;
  Time: TDateTime;
  Hour: Word;
  Minute : Word;
  Second : Word;
  s : string;

begin     //获取加班小时分钟
  t1 := Trunc( t0 / 60 / 8 );
  t0   := t0 - (t1 * 480);
  Time := StrToTime(TimeToStr(Round( t0 * 60 ) /86400 ));
  Hour := HourOf(Time);
  Minute:=MinuteOf(Time);
  Second:=SecondOf(Time);
  if Hour <> 0 then
  begin
    s := IntToStr(Hour) + ' 小时 ';
  end;

  if Minute <> 0 then
  begin
    s := s + IntToStr(Minute) + ' 分钟';
  end;

  Result := s;
end;


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.081331014633179 seconds