anchor.diff:    Result := 0.0;
     ADateTime := EncodeDateTime(AYear, 1,1,0,0,0,0);
   
  - //Get period and rule
     if not GetPeriodAndRule(ADateTime, TObject(LPeriod), TObject(LRule)) then
  -
  -    raise ETimeZoneInvalid.CreateResFmt(@STimeZoneHasNoPeriod,
  -      [DateTimeToStr(ADateTime), DoGetID()]);
  +    raise ETimeZoneInvalid.CreateResFmt(@SYearNotResolvable, [AYear, DoGetID()]);
   
     if LRule <> nil then
     begin
  
positive.code:     ///  <param name="ADateTime">The local time.</param>
      ///  <param name="AForceDaylight">Specify a <c>True</c> value if ambiguous periods should be treated as DST.</param>
      ///  <returns>A string containing the abbreviation.</returns>
      ///  <exception cref="TZDB|ELocalTimeInvalid">The specified local time is invalid.</exception>
      function GetAbbreviation(const ADateTime: TDateTime; const AForceDaylight: Boolean = false): string;
  
  
negative.code:     ///  <param name="AForceDaylight">Specify a <c>True</c> value if ambiguous periods should be treated as DST.</param>
      ///  <returns>The UTC time that corresponds to the passed local time.</returns>
      ///  <exception cref="TZDB|ELocalTimeInvalid">The specified local time is invalid.</exception>
      ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified date/time year is not in the bundled database.</exception>
      function ToUniversalTime(const ADateTime: TDateTime;
        const AForceDaylight: Boolean = false): TDateTime; {$IFDEF SUPPORTS_INLINE}inline;{$ENDIF}
  
  