Sample code for 30+ languages & platforms
Lazarus Pascal

DateTime - Add or Subtract Seconds

Demonstrates the AddSeconds method to add or subtract a number of seconds from a date/time.

Note: This example is only valid in Chilkat v9.5.0.65 or later.

Chilkat Lazarus Pascal Downloads

Lazarus Pascal
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
  dateTime: TCkDateTime;

begin
  dateTime := TCkDateTime.Create;

  dateTime.SetFromCurrentSystemTime();

  WriteLn('Current time: ' + dateTime.GetAsTimestamp(False));

  dateTime.AddSeconds(1);
  WriteLn('Current time + 1 second: ' + dateTime.GetAsTimestamp(False));

  dateTime.AddSeconds(-2);
  WriteLn('Current time - 1 second: ' + dateTime.GetAsTimestamp(False));

  //  Add 30 days (60 * 60 * 24 * 30)
  dateTime.AddSeconds(60 * 60 * 24 * 30);
  WriteLn('Current time + 30 days: ' + dateTime.GetAsTimestamp(False));

  //  Sample output for test run on 2-Dec-2016: 

  //  	Current time: 2016-12-02T12:59:13Z
  //  	Current time + 1 second: 2016-12-02T12:59:14Z
  //  	Current time - 1 second: 2016-12-02T12:59:12Z
  //  	Current time + 30 days: 2017-01-01T12:59:12Z


  dateTime.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.