anchor.diff:      class function GetTimeZone(const ATimeZoneID: string): TBundledTimeZone;
   
       ///  <summary>Get the starting date/time of daylight period.</summary>
  +    ///  <remarks>This function considers the first period of this type and will not work properly for complicated time zones.</remarks>
       ///  <param name="AYear">The year to get data for.</param>
       ///  <returns>The start time of daylight saving period in the local time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function DaylightTimeStart(const AYear: Word): TDateTime;
   
       ///  <summary>Get the starting date/time of standard period.</summary>
  +    ///  <remarks>This function considers the first period of this type and will not work properly for complicated time zones.</remarks>
       ///  <param name="AYear">The year to get data for.</param>
       ///  <returns>The start date/time of standard period in local time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function StandardTimeStart(const AYear: Word): TDateTime;
   
       ///  <summary>Get the starting date/time of invalid period.</summary>
  +    ///  <remarks>This function considers the first period of this type and will not work properly for complicated time zones.</remarks>
       ///  <param name="AYear">The year to get data for.</param>
       ///  <returns>The start date/time of invalid period in local time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function InvalidTimeStart(const AYear: word): TDateTime;
   
       ///  <summary>Get the starting date/time of ambiguous period.</summary>
  +    ///  <remarks>This function considers the first period of this type and will not work properly for complicated time zones.</remarks>
       ///  <param name="AYear">The year to get data for.</param>
       ///  <returns>The start date/time of ambiguous period in local time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function AmbiguousTimeStart(const AYear: word): TDateTime;
   
       ///  <summary>Get the ending date/time of daylight saving period.</summary>
  +    ///  <remarks>This function considers the first period of this type and will not work properly for complicated time zones.</remarks>
       ///  <param name="AYear">The year to get data for.</param>
       ///  <returns>The end date/time of daylight saving period in local time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function DaylightTimeEnd(const AYear: word): TDateTime;
   
       ///  <summary>Get the ending date/time of standard period.</summary>
  +    ///  <remarks>This function considers the first period of this type and will not work properly for complicated time zones.</remarks>
       ///  <param name="AYear">The year to get data for.</param>
       ///  <returns>The ending date/time of standard period in local time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function StandardTimeEnd(const AYear: word): TDateTime;
   
       ///  <summary>Get the ending date/time of invalid period.</summary>
  +    ///  <remarks>This function considers the first period of this type and will not work properly for complicated time zones.</remarks>
       ///  <param name="AYear">The year to get data for.</param>
       ///  <returns>The end date/time of invalid period in local time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function InvalidTimeEnd(const AYear: word): TDateTime;
   
       ///  <summary>Get the ending date/time of ambiguous period.</summary>
  +    ///  <remarks>This function considers the first period of this type and will not work properly for complicated time zones.</remarks>
       ///  <param name="AYear">The year to get data for.</param>
       ///  <returns>The end date/time of ambiguous period in local time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function AmbiguousTimeEnd(const AYear: word): TDateTime;
   
       ///  <summary>Determines if the timezone has daylight saving period.</summary>
       ///  <param name="AYear">The year to check.</param>
       ///  <returns><c>true</c> if the timezone has daylight saving time in the specified year.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function HasDaylightTime(const AYear: word): Boolean;
   
       ///  <summary>Converts an UTC date/time to ISO8601 date time string.</summary>
       ///  <param name="ADateTime">The UTC date/time to convert.</param>
       ///  <returns>The ISO8601 date/time string that corresponds to the passed UTC time.</returns>
  +    ///  <exception cref="TZDB|EUnknownTimeZoneYear">The specified year is not in the bundled database.</exception>
       function ToISO8601Format(const ADateTime: TDateTime): String;
   
   {$IFNDEF SUPPORTS_TTIMEZONE}
  
positive.code:   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()]);
  
    if LRule <> nil then
    begin
  
negative.code: 
      ///  <summary>Returns the time zone name for a given alias.</summary>
      ///  <param name="AAlias">The alias to lookup.</param>
      ///  <returns>The name of the time zone, if found.</returns>
      ///  <exception cref="TZDB|ETimeZoneInvalid">The specified alias cannot be found in the bundled database.</exception>
      class function GetTimeZoneFromAlias(const AAliasID: string): string;
  
      ///  <summary>Returns an instance of this time zone class.</summary>
  