anchor.diff:  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 '/', '\', '-', ....
  +// 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 ':', '.', ....
  
positive.code:   if idx = 0 then
    begin
      sep := '.';
      idx := Pos(sep, tmp);
    end;
  
  
negative.code: 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;
  