Lazarus Pascal
Lazarus Pascal
Date/Time Older-Than N Seconds/Minutes/Hours/Days
Demonstrates the how to tell if a date/time is older than the current time by N seconds, minutes, hours, or days.Chilkat Lazarus Pascal Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.CkDateTime;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
dt: TCkDateTime;
b: Boolean;
begin
dt := TCkDateTime.Create;
// Set to the current system date/time.
dt.SetFromCurrentSystemTime();
WriteLn('Now: ' + dt.GetAsTimestamp(True));
// Subtract 10 minutes, making the date 10 minutes in the past.
dt.AddSeconds(-600);
WriteLn('10 minutes ago: ' + dt.GetAsTimestamp(True));
// Is the date/time older than 10 seconds?
b := dt.OlderThan(10,'seconds');
WriteLn('Older than 10 seconds: ' + b);
// Is the date/time older than 5 minutes?
b := dt.OlderThan(5,'minutes');
WriteLn('Older than 5 minutes: ' + b);
// Is the date/time older than 15 minutes?
b := dt.OlderThan(15,'minutes');
WriteLn('Older than 15 minutes: ' + b);
// Is the date/time older than 1 hour?
b := dt.OlderThan(1,'hour');
WriteLn('Older than 1 hour: ' + b);
// Is the date/time older than 1 day?
b := dt.OlderThan(1,'day');
WriteLn('Older than 1 day: ' + b);
// Output:
// Now: 2017-05-05T23:33:06-0500
// 10 minutes ago: 2017-05-05T23:23:06-0500
// Older than 10 seconds: True
// Older than 5 minutes: True
// Older than 15 minutes: False
// Older than 1 hour: False
// Older than 1 day: False
dt.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.