Sample code for 30+ languages & platforms
Delphi ActiveX

Parse a Microsoft JSON Date (MS AJAX Date)

See more JSON Examples

Demonstrates how to parse a Microsoft JSON Date, also known as an MSAJAX date.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
json: TChilkatJsonObject;
dt: TCkDateTime;
bLocal: Integer;
dtObj: TDtObj;

begin
success := 0;

// Parse Microsoft JSON Dates (AJAX Dates)
json := TChilkatJsonObject.Create(Self);

success := json.Load('{ "AchievementDate":"/Date(1540229468330-0500)/"}');

dt := TCkDateTime.Create(Self);
success := json.DateOf('AchievementDate',dt.ControlInterface);
if (success <> 1) then
  begin
    Memo1.Lines.Add('Unable to parse a date/time.');
    Exit;
  end;

// Show the date in different formats:
bLocal := 1;
Memo1.Lines.Add('RFC822: ' + dt.GetAsRfc822(bLocal));
Memo1.Lines.Add('Timestamp: ' + dt.GetAsTimestamp(bLocal));
Memo1.Lines.Add('YYYY-MM-DD: ' + dt.GetAsIso8601('YYYY-MM-DD',bLocal));

// Get integer values for year, month, day, etc.
dtObj := TDtObj.Create(Self);
dt.ToDtObj(bLocal,dtObj.ControlInterface);

Memo1.Lines.Add('year: ' + IntToStr(dtObj.Year));
Memo1.Lines.Add('month: ' + IntToStr(dtObj.Month));
Memo1.Lines.Add('day: ' + IntToStr(dtObj.Day));
Memo1.Lines.Add('hour: ' + IntToStr(dtObj.Hour));
Memo1.Lines.Add('minute: ' + IntToStr(dtObj.Minute));
Memo1.Lines.Add('seconds: ' + IntToStr(dtObj.Second));

// Sample output:
// RFC822: Mon, 22 Oct 2018 17:31:08 -0500
// Timestamp: 2018-10-22T17:31:08-05:00
// YYYY-MM-DD: 2018-10-22
// year: 2018
// month: 10
// day: 22
// hour: 17
// minute: 31
// seconds: 8
end;