Delphi中对比时间:CompareDateTime、CompareDate、CompareTime函数

CompareDateTime、CompareDate、CompareTime 都是对比时间的函数;

CompareDate 只对比日期部分, CompareTime 之对比时间部分.

两个参数都是 TDateTime 类型, 如果:

前者 = 后者: 返回 0;

前者 > 后者: 返回 1;

前者 < 后者: 返回 -1;

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
  procedure FormCreate(Sender: TObject);
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

uses DateUtils;

procedure TForm1.FormCreate(Sender: TObject);
var
 t1,t2: TDateTime;
 r1,r2,r3: Integer;
begin
 {日期一致、时间不一致}
 t1 := StrToDateTime('2009-5-20 1:1:1');
 t2 := StrToDateTime('2009-5-20 1:0:0');

 r1 := CompareDateTime(t1, t2); //1
 r2 := CompareDate(t1, t2);   //0
 r3 := CompareTime(t1, t2);   //1
 ShowMessageFmt('%d,%d,%d', [r1,r2,r3]); //1,0,1

 {日期不一致、时间一致}
 t1 := StrToDateTime('2009-5-20 1:1:1');
 t2 := StrToDateTime('2009-5-21 1:1:1');

 r1 := CompareDateTime(t1, t2); //-1
 r2 := CompareDate(t1, t2);   //-1
 r3 := CompareTime(t1, t2);   //0
 ShowMessageFmt('%d,%d,%d', [r1,r2,r3]); //1,0,1

 {日期、时间都不一致}
 t1 := StrToDateTime('2009-5-19 1:1:1');
 t2 := StrToDateTime('2009-5-20 0:0:0');

 r1 := CompareDateTime(t1, t2); //-1
 r2 := CompareDate(t1, t2);   //-1
 r3 := CompareTime(t1, t2);   //1
 ShowMessageFmt('%d,%d,%d', [r1,r2,r3]); //1,0,1
end;

end.

时间: 2024-08-02 10:40:48

Delphi中对比时间:CompareDateTime、CompareDate、CompareTime函数的相关文章

Delphi中对时间操作方法汇总_Delphi

一般来说在delphi中用于描述时间的有几种数据结构,而对时间的操作,实质上就是对这些结构的操作. TDateTime类型: Delphi中最常用的表示日期时间的数据类型TDateTime类型,和普通的整形数一样,你可以给日期定义一个日期型变量以便在程序中进行操作.TdateTime类型实质上是一个Double型的数,在Delphi中是这样定义TdateTime类型: type TDateTime = type Double ,具体的算法是用Double数的整数部分表示日期,以1989年12月3

Delphi中修改时间的函数

RecodeDateTime.RecodeDate.RecodeTime.RecodeYear ... 修改时间 DateUtils.RecodeDateTime(); DateUtils.RecodeDate(); DateUtils.RecodeTime(); DateUtils.RecodeYear(); DateUtils.RecodeMonth(); DateUtils.RecodeDay(); DateUtils.RecodeHour(); DateUtils.RecodeMinut

linux中与时间处理相关的函数

  最近在查关于Linux下时间编程的问题:        1. Linux下与时间有关的结构体         struct timeval        {              int tv_sec;              int tv_usec;          };          其中tv_sec是由凌晨开始算起的秒数,tv_usec则是微秒(10E-6 second).          struct timezone        {              int

Delphi中获取用户程序数据目录的GetHomePath函数

uses System.IOUtils; procedure TForm1.FormCreate(Sender: TObject); var S: string; begin { 三种方法结果一致: C:\Users\wy\AppData\Roaming } S := GetHomePath; // SysUtils, 能跨平台且简单, 在 Windows 下使用 SHGetFolderPath 完成 S := TPath.GetHomePath; // System.IOUtils S :=

Delphi中提取时间成分

DateOf.TimeOf.YearOf.MonthOf.WeekOf.DayOf.HourOf.MinuteOf.SecondOf.MilliSecondOf函数用于提取时间成分 它们的参数都是一个 TDateTime, DateOf.TimeOf 分别提取日期与时间, 并返回 TDateTime 类型; YearOf.MonthOf.WeekOf.DayOf.HourOf.MinuteOf.SecondOf.MilliSecondOf 返回的都是 Word 类型. unit Unit1; i

Delphi中判断时间是否合法

IsValidDateTime.IsValidDate.IsValidTime.IsValidDateDay ... 判断时间是否合法 DateUtils.IsValidDateTime DateUtils.IsValidDate DateUtils.IsValidTime DateUtils.IsValidDateDay DateUtils.IsValidDateWeek DateUtils.IsValidDateMonthWeek //可用下面几个过程抛出异常: DateUtils.Inva

php中日期时间比较三个函数

日期比较如 2011-11-11  2011-12-12  代码如下 复制代码 function compare_date( $DATE1, $DATE2 ) {         $STR = strtok( $DATE1, "-" );         $YEAR1 = $STR;         $STR = strtok( "-" );         $MON1 = $STR;         $STR = strtok( "-" );

LINUX C系统编程与PYTHON中的时间模块对比

今天看python时间模块time的时候发现和LINUX系统编程中的时间调用函数基本一样,以前刚好没有好好学习LINUX C编程的时间模块就对比进行了学习. 本文只是给出函数接口和使用方式,详细了解请参考LINUX main page和PYTHON help 本文不涉及asctime和ctime,并且C中涉及多线程编程注意选择可重入性函数 一.时间存在方式 其实不管是C还是PYTHON这里都包含3种时间不同存在的方式 日历时间:Epoch以来的秒及新纪元时间(1970年1月1日 00:00:00

ASP中的时间函数详细介绍

函数 Date 函数描述:返回当前系统日期.语法:Date DateAdd 函数描述:返回已添加指定时间间隔的日期. 语法:DateAdd(interval, number, date)interval: 必选.字符串表达式,表示要添加的时间间隔.有关数值,请参阅"设置"部分. number: 必选.数值表达式,表示要添加的时间间隔的个数.数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期). date: 必选.Variant 或要添加 interval 的表示日期的文字.