anchor.diff:  function DateTimeStrEval(const DateTimeFormat: string; const DateTimeStr: string): TDateTime;
   
   function DateToJsonString(const aValue : TDate): String;
  -function TimeToJsonString(const aValue : TTime): String;
  +function TimeToJsonString(const aValue : {$IFDEF UNIX}TDateTime{$ELSE}TTime{$ENDIF}): String;
   function DateTimeToJsonString(const aValue : TDateTime): String;
   
   function TryToUnderstandJsonDateString(const aInputString: string; out aValue: TDate): boolean;
  -function TryToUnderstandJsonTimeString(const aInputString: string; out aValue: TTime): boolean;
  +function TryToUnderstandJsonTimeString(const aInputString: string; out aValue: {$IFDEF UNIX}TDateTime{$ELSE}TTime{$ENDIF}): boolean;
   function TryToUnderstandJsonDateTimeString(const aInputString: string; out aValue: TDateTime): boolean;
   
   // https://code.google.com/p/theunknownones/
  
positive.code: end;
  
  function TryToUnderstandJsonDateTimeString(const aInputString: string; out aValue: TDateTime): boolean;
  var
    v : TDateTime;
  begin
    Result := false;
    aValue := DateTimeStrEval('yyyy-mm-ddThh:mm:ssZ', aInputString);
  
negative.code:   Result := (aValue > 0);
  end;
  
  function TryToUnderstandJsonTimeString(const aInputString: string; out aValue: {$IFDEF UNIX}TDateTime{$ELSE}TTime{$ENDIF}): boolean;
  begin
    Result := false;
    aValue := DateTimeStrEval('Thh:mm:ssZ', aInputString);
  