/// <summary>
        /// Convert IANA timezone to a UTC offset.
        /// </summary>
        /// <param name="IanaTimezone">eg "America/Vancouver"</param>
        /// <returns>The offset eg -7</returns>
        public static Int16 GetUtcOffset(String IanaTimezone)
        {
            Int16 utcOffset = 0;

            try {
                NodaTime.IDateTimeZoneProvider tzProvider = NodaTime.DateTimeZoneProviders.Tzdb;
                if (!tzProvider.Ids.Contains(IanaTimezone))
                {
                    log.Warn("Could not map IANA timezone '" + IanaTimezone + "' to UTC offset.");
                }
                else
                {
                    NodaTime.DateTimeZone tz     = tzProvider[IanaTimezone];
                    NodaTime.Offset       offset = tz.GetUtcOffset(new NodaTime.Instant());
                    utcOffset = Convert.ToInt16(offset.Seconds / 3600);
                }
            } catch (System.Exception ex) {
                OGCSexception.Analyse("Not able to convert IANA timezone '" + IanaTimezone + "' to UTC offset.", ex);
            }
            return(utcOffset);
        }