Lazarus Pascal
Lazarus Pascal
Date/Time Expires Within N Seconds/Minutes/Hours/Days
Demonstrates the how to tell if a date/time is within N seconds, minutes, hours, or days of the current system time.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));
// Add 10 minutes, making the date 10 minutes in the future.
dt.AddSeconds(600);
WriteLn('10 minutes from now: ' + dt.GetAsTimestamp(True));
// Is the date/time within 10 seconds of expiration (i.e. within 10 seconds of now)?
b := dt.ExpiresWithin(10,'seconds');
WriteLn('Expires within 10 seconds: ' + b);
// Does the date/time expire within 5 minutes?
b := dt.ExpiresWithin(5,'minutes');
WriteLn('Expires within 5 minutes: ' + b);
// Does the date/time expire within 15 minutes?
b := dt.ExpiresWithin(15,'minutes');
WriteLn('Expires within 15 minutes: ' + b);
// Does the date/time expire within 1 hour?
b := dt.ExpiresWithin(1,'hour');
WriteLn('Expires within 1 hour: ' + b);
// Does the date/time expire within 1 day?
b := dt.ExpiresWithin(1,'day');
WriteLn('Expires within 1 day: ' + b);
// Output:
// Now: 2017-05-05T23:48:00-0500
// 10 minutes from now: 2017-05-05T23:58:00-0500
// Expires within 10 seconds: False
// Expires within 5 minutes: False
// Expires within 15 minutes: True
// Expires within 1 hour: True
// Expires within 1 day: True
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.