TDateTime

From Lazarus wiki
Revision as of 16:07, 24 September 2021 by Bart (talk | contribs) (Remove Thaddy's warining. @Thaddy: use the discussion page to discuss possible errors on the page.)
Jump to navigationJump to search

English (en) suomi (fi)
TDateTime is a combination of a date and a time. The attributes are: year, month, day (to get the day in this first part); hour, minute, second, millisecond (to encode the time in this second part).

Get current time

Unit SysUtils function Now retrieves the current system date and time.

 function Now : TDateTime;

Adding and subtracting TDateTime

Unit DateUtils function DaysBetween tell number of whole days between two DateTime values.

  function DaysBetween ( const ToDate, FromDate : TDateTime ) : Integer;

Unit DateUtils function WeeksBetween tell number of whole weeks between two DateTime values.

  function WeeksBetween( const ToDate, FromDate : TDateTime ):Integer;


program DateProject1;

uses
  SysUtils,DateUtils;
const
  DateFormatChars = 'dd"/"mm"/"yyyy';
var
  DateTime1, DateTime2: TDateTime;
begin
  DateTime1 := now;
  DateTime2 := DateTime1 + 4*7;       //28 days later
  WriteLn('Current date is '+ FormatDateTime( DateFormatChars, DateTime1 ));
  WriteLn('28 days later date is '+ FormatDateTime( DateFormatChars, DateTime2 ));
  WriteLn('Number of days is '+ ( DaysBetween( DateTime1 ,DateTime2)).ToString );
  WriteLn('Number of weeks is '+ ( WeeksBetween( DateTime1 ,DateTime2)).ToString );
  ReadLn;
end.

Set Date

Unit SysUtils function EncodeDate to set the date.

  function EncodeDate ( const Year, Month, Day : Word ) : TDateTime;

Compare two TDateTime

program CompareTwoDateTime;

uses
  SysUtils, DateUtils;
var
   firstDate, secondDate: TDateTime;
begin
  firstDate := EncodeDate(2000, 2, 29);
  secondDate := EncodeDate(2018, 8, 11);
  if DaysBetween( firstDate, secondDate) = 0
    then WriteLn('Both dates are same')
    else
      if firstDate < secondDate
        then WriteLn('First date is earlier')
        else WriteLn('First date is later');
  ReadLn;
end.

See also