Sample code for 30+ languages & platforms
Delphi ActiveX Requires Chilkat v11.0.0+

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