anchor.diff:  end;
   
   function TryToUnderstandDateString(const aInputString : String; out aValue : TDateTime) : boolean;
  +
  +  function DecodeMonthName (const aValue : String; aMonthNames : TMonthNameArray): integer;
  +  var
  +    z : integer;
  +  begin
  +    Result := 0;
  +    for z := Low(aMonthNames) to High(aMonthNames) do
  +    begin
  +      if CompareText(aMonthNames[z], aValue) = 0 then
  +      begin
  +        Result := z;
  +        exit;
  +      end;
  +    end;
  +  end;
   var
     l, idx, i : integer;
     tmp,  sep : string;
  
positive.code:   if idx = 0 then
    begin
      sep := '.';
      idx := Pos(sep, tmp);
    end;
  
  
negative.code: function SecondsToDateTime(const aSeconds : integer; const aTheDayWhenTimeStarted : integer = TheDayWhenTimeStarted): TDateTime;
  
  // try to convert the input text from the user as a date value, if it fails it returns false
  // user can edit date as ddmmyy or ddmmyyyy or dmyy or with separators like '/', '\', '-', ' ' or '12 Jan 2022' or '27 September 2021' or '15 Maggio 2023'....
  function TryToUnderstandDateString(const aInputString : String; out aValue : TDateTime) : boolean;
  // try to convert the input text from the user as a time value, if it fails it returns false
  // user can edit time as hhmm or hhmmss or with separators like ':', '.', ....
  