delphi中时间比较、日期相减、日期比较

else begin
          oStartDate := FieldByName('offline_start_date').AsDateTime;
          oTime := FieldByName('offline_hours').AsInteger;
          if (FieldByName('offline_flag').asstring = '1')
            and ( oStartDate <= StrToDate(FormatDateTime('YYYY-MM-DD', Now))) then
          begin
            if (ROUND((StrToDate(FormatDateTime('YYYY-MM-DD', Now)) 
              - Trunc(oStartDate))) *24) < oTime then
            begin
              //可以脱机
              dmComm.UserInfo.offlineHotType := '2'; // 2表示被动脱机
              LoginOK := True;
              dmcomm.SysParam.ConnectMode := 'off-line';
              dmcomm.UserInfo.SysAccount := 'local';
              CreateMainForm;
              dmcomm.refreshLocalTables;
            end
            else begin
              i_Offline_hours := FieldByName('ioffline_hours').AsInteger;
              i_offline_flag := FieldByName('ioffline_flag').AsString;
              if (i_offline_flag = '1') and (i_Offline_hours>used_i_offline_time) then
              begin
                LoginOK := True;
                dmComm.UserInfo.i_offline_remaining_time := i_Offline_hours 
                  - used_i_offline_time;
                dmcomm.SysParam.ConnectMode := 'off-line';
                dmComm.UserInfo.offlineHotType := '1'; //表示自主脱机
                dmcomm.UserInfo.SysAccount := 'local';
                CreateMainForm;
                dmcomm.refreshLocalTables;
              end
              else begin
                DialogInformation('此账号没有自主脱机权限或者自主脱机时长已用完');
                exit;          
              end;
            end;
          end
          
        end;


直接见代码就OK了

 

还有一个简单的DEMO,日期相减获得天数,注意函数的运用

 

procedure TForm1.btn1Click(Sender: TObject);
var d1, d2: TDateTime;
d3: Integer;
begin
  d1 := StrToDate(FormatDateTime('YYYY-MM-DD', Now));
  d2 := StrToDate('2001-09-01');
  d3 := round(d2-d1);
  Showmessage(IntTostr(d3));
end;


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值