Delphiで2つのTDateTime値の間隔を取得するには

System.DateUtilsに2つのTDateTime値の間隔を取得する関数が用意されています。

uses System.DateUtils;

System.DateUtils.MilliSecondsBetween

System.DateUtils.MilliSecondsBetween関数は、指定した2つのTDateTime値の間隔が何ミリ秒かを返します。

Writeln(IntToStr(MilliSecondsBetween(StrToTime('00:00:00.000'), StrToTime('00:00:00.010'))));
//=> 10
Writeln(IntToStr(MilliSecondsBetween(StrToTime('00:00:00.000'), StrToTime('00:00:20.000'))));
//=> 20000

System.DateUtils.SecondsBetween

System.DateUtils.SecondsBetween関数は、指定した2つのTDateTime値の間隔が何秒かを返します。

Writeln(IntToStr(SecondsBetween(StrToTime('00:00:00.000'), StrToTime('00:00:20.000'))));
//=> 20
Writeln(IntToStr(SecondsBetween(StrToTime('00:00:00.000'), StrToTime('00:30:00.000'))));
//=> 1800

System.DateUtils.MinutesBetween

System.DateUtils.MinutesBetween関数は、指定した2つのTDateTime値の間隔が何分かを返します。

Writeln(IntToStr(MinutesBetween(StrToTime('00:00:00.000'), StrToTime('00:30:00.000'))));
//=> 30
Writeln(IntToStr(MinutesBetween(StrToTime('00:00:00.000'), StrToTime('01:30:00.000'))));
//=> 90

System.DateUtils.HoursBetween

System.DateUtils.HoursBetween関数は、指定した2つのTDateTime値の間隔が何時間かを返します。

Writeln(IntToStr(HoursBetween(StrToTime('00:00:00.000'), StrToTime('01:00:00.000'))));
//=> 1
Writeln(IntToStr(HoursBetween(StrToDate('2013/01/01'), StrToDate('2013/01/10'))));
//=> 216

System.DateUtils.DaysBetween

System.DateUtils.DaysBetween関数は、指定した2つのTDateTime値の間隔が何日かを返します。

Writeln(IntToStr(DaysBetween(StrToDate('2013/01/01'), StrToDate('2013/01/10'))));
//=> 9
Writeln(IntToStr(DaysBetween(StrToDate('2013/01/01'), StrToDate('2013/02/01'))));
//=> 31

System.DateUtils.WeeksBetween

System.DateUtils.WeeksBetween関数は、指定した2つのTDateTime値の間隔が何週かを返します。

Writeln(IntToStr(WeeksBetween(StrToDate('2013/01/01'), StrToDate('2013/01/10'))));
//=> 1
Writeln(IntToStr(WeeksBetween(StrToDate('2013/01/01'), StrToDate('2013/02/01'))));
//=> 4

System.DateUtils.MonthsBetween

System.DateUtils.MonthsBetween関数は、指定した2つのTDateTime値の間隔が何か月かを返します。

Writeln(IntToStr(MonthsBetween(StrToDate('2013/01/01'), StrToDate('2013/02/01'))));
//=> 1
Writeln(IntToStr(MonthsBetween(StrToDate('2013/01/01'), StrToDate('2014/01/01'))));
//=> 11

System.DateUtils.YearsBetween

System.DateUtils.YearsBetween関数は、指定した2つのTDateTime値の間隔が何年かを返します。

Writeln(IntToStr(YearsBetween(StrToDate('2013/01/01'), StrToDate('2014/01/01'))));
//=> 0
Writeln(IntToStr(YearsBetween(StrToDate('2013/01/01'), StrToDate('2020/02/01'))));
//=> 7

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください