zoukankan      html  css  js  c++  java
  • 分享一个求时间差大于多少秒的函数

    function YearsBetween(const ANow, AThen: TDateTime): Integer;//返回两个日期间隔的年数
    function MonthsBetween(const ANow, AThen: TDateTime): Integer;//返回两个日期间隔的月数
    function WeeksBetween(const ANow, AThen: TDateTime): Integer;//返回两个日期间隔的星期数
    function DaysBetween(const ANow, AThen: TDateTime): Integer;//返回两个日期间隔的天数
    function HoursBetween(const ANow, AThen: TDateTime): Int64;//返回两个日期间隔的小时数
    function MinutesBetween(const ANow, AThen: TDateTime): Int64;//返回两个日期间隔的分钟数
    function SecondsBetween(const ANow, AThen: TDateTime): Int64;//返回两个日期间隔的秒数
    function MilliSecondsBetween(const ANow, AThen: TDateTime): Int64;//返回两个日期间隔的毫秒数

    单元System.DateUtils还提供了其他大量实用的日期类型的函数,感兴趣可以参考。

    现在实现时间差大于多少秒的函数:

    unit Unit2;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects,
      FMX.Controls.Presentation, FMX.StdCtrls,system.dateutils;
    
    type
      TForm2 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        function CompareSeconds(ANow,AThen:TDateTime;aSec:Integer):Boolean;
      end;
    
    var
      Form2: TForm2;
    
    implementation
    
    {$R *.fmx}
    
    procedure TForm2.Button1Click(Sender: TObject);
    var
      d1,d2:TDateTime;
      d:double;
    begin
      d1:=now;
      d2:=now-1;
    //  d:=(d1-d2)*24*60*60;//将时间差转换成秒数
      if CompareSeconds(d1,d2,60) then
         ShowMessage('ok');
    
    end;
    
    
    function TForm2.CompareSeconds(ANow, AThen: TDateTime; aSec: Integer): Boolean;
    begin
         result:= SecondsBetween(ANow,AThen)>=aSec;
    end;
    
    end.

    再次强调,Delphi为我们做了大量处理日期的函数,涉及到这方面的代码,一定不要自己造轮子,直接去System.DateUtils单元去找找。

  • 相关阅读:
    Shell 字符串处理
    Shell 变量替换及测试
    ARTS(一)
    instanceof & isAssignableFrom的异同
    mysql 分组排序取最值
    guava-retrying 源码解析(阻塞策略详解)
    guava-retrying 源码解析(时间限制策略)
    guava-retrying 源码解析(停止策略详解)
    guava-retrying 源码解析(等待策略详解)
    guava-retrying 源码解析(导入项目)
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/10620680.html
Copyright © 2011-2022 走看看