Example #1
0
        private void AddFormatEntries(XContainer tzElement, string language)
        {
            var formats = tzElement.Elements("regionFormat")
                          .ToDictionary(
                x => x.Attribute("type") == null ? "generic" : x.Attribute("type").Value,
                x => x.Value);

            if (formats.Count == 0)
            {
                return;
            }

            string s;
            var    values = new TimeZoneValues();

            if (formats.TryGetValue("generic", out s))
            {
                values.Generic = s;
            }
            if (formats.TryGetValue("standard", out s))
            {
                values.Standard = s;
            }
            if (formats.TryGetValue("daylight", out s))
            {
                values.Daylight = s;
            }

            var langData = GetLangData(language);

            langData.Formats = values;
        }
Example #2
0
        public void Can_Get_English_Names_For_All_IANA_Timezones()
        {
            var errors = new List <string>();

            foreach (string tzid in DateTimeZoneProviders.Tzdb.Ids.OrderBy(x => x))
            {
                try
                {
                    TimeZoneValues names = TZNames.GetNamesForTimeZone(tzid, "en-US");
                    _output.WriteLine("{0} = {1}", tzid, names.Generic);
                    if (string.IsNullOrWhiteSpace(names.Generic))
                    {
                        errors.Add(tzid);
                    }
                }
                catch
                {
                    errors.Add(tzid);
                }
            }

            if (errors.Count > 0)
            {
                _output.WriteLine("Could not get names for the following IANA time zone ids:\n");
            }

            foreach (string error in errors)
            {
                _output.WriteLine(error);
            }

            Assert.Empty(errors);
        }
Example #3
0
        private static TimeZoneValues GetTimeZoneValues(XContainer element)
        {
            var values = new TimeZoneValues();

            var genericElement = element.Element("generic");

            if (genericElement != null && genericElement.Value != "∅∅∅")
            {
                values.Generic = genericElement.Value;
            }

            var standardElement = element.Element("standard");

            if (standardElement != null && standardElement.Value != "∅∅∅")
            {
                values.Standard = standardElement.Value;
            }

            var daylightElement = element.Element("daylight");

            if (daylightElement != null && daylightElement.Value != "∅∅∅")
            {
                values.Daylight = daylightElement.Value;
            }

            return(values);
        }
Example #4
0
        public void Can_Get_English_Names_For_All_Windows_Timezones()
        {
            var errors = new List <string>();

            foreach (TimeZoneInfo timeZoneInfo in TimeZoneInfo.GetSystemTimeZones().OrderBy(x => x.Id))
            {
                try
                {
                    TimeZoneValues names = TZNames.GetNamesForTimeZone(timeZoneInfo.Id, "en-US");
                    _output.WriteLine("{0} = {1}", timeZoneInfo.Id, names.Generic);
                    if (string.IsNullOrWhiteSpace(names.Generic))
                    {
                        errors.Add(timeZoneInfo.Id);
                    }
                }
                catch
                {
                    errors.Add(timeZoneInfo.Id);
                }
            }

            if (errors.Count > 0)
            {
                _output.WriteLine("Could not get names for the following Windows time zone ids:\n");
            }

            foreach (string error in errors)
            {
                _output.WriteLine(error);
            }

            Assert.Empty(errors);
        }
Example #5
0
        public void Can_Get_Abbreviations_For_Windows_Timezone()
        {
            TimeZoneValues abbreviations = TZNames.GetAbbreviationsForTimeZone("AUS Eastern Standard Time", "en-US");

            Assert.Equal("AET", abbreviations.Generic);
            Assert.Equal("AEST", abbreviations.Standard);
            Assert.Equal("AEDT", abbreviations.Daylight);
        }
Example #6
0
        public void Can_Get_Names_For_Windows_Timezone()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("Eastern Standard Time", "en-US");

            Assert.Equal("Eastern Time", names.Generic);
            Assert.Equal("Eastern Standard Time", names.Standard);
            Assert.Equal("Eastern Daylight Time", names.Daylight);
        }
Example #7
0
        public void Can_Get_Names_For_US_Pacific()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("America/Los_Angeles", "en-US");

            Assert.Equal("Pacific Time", names.Generic);
            Assert.Equal("Pacific Standard Time", names.Standard);
            Assert.Equal("Pacific Daylight Time", names.Daylight);
        }
Example #8
0
        public void Can_Get_Names_For_UTC()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("UTC", "en-US");

            Assert.Equal("Coordinated Universal Time", names.Generic);
            Assert.Equal("Coordinated Universal Time", names.Standard);
            Assert.Equal("Coordinated Universal Time", names.Daylight);
        }
Example #9
0
        public void Can_Get_Names_For_US_Arizona()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("America/Phoenix", "en-US");

            Assert.Equal("Mountain Time", names.Generic);
            Assert.Equal("Mountain Standard Time", names.Standard);
            Assert.Equal("Mountain Daylight Time", names.Daylight);
        }
Example #10
0
        public void Can_Get_Names_For_CN()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("Asia/Shanghai", "en-US");

            Assert.Equal("China Time", names.Generic);
            Assert.Equal("China Standard Time", names.Standard);
            Assert.Equal("China Daylight Time", names.Daylight);
        }
Example #11
0
        public void Can_Get_Abbreviations_For_IN2()
        {
            TimeZoneValues abbreviations = TZNames.GetAbbreviationsForTimeZone("Asia/Kolkata", "en-US");

            Assert.Equal("IST", abbreviations.Generic);
            Assert.Equal("IST", abbreviations.Standard);
            Assert.Equal("IST", abbreviations.Daylight);
        }
Example #12
0
        public void Can_Get_Names_For_IN2()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("Asia/Kolkata", "en-US");

            Assert.Equal("India Standard Time", names.Generic);
            Assert.Equal("India Standard Time", names.Standard);
            Assert.Equal("India Standard Time", names.Daylight);
        }
Example #13
0
        public void Can_Get_Abbreviations_For_UK()
        {
            TimeZoneValues abbreviations = TZNames.GetAbbreviationsForTimeZone("Europe/London", "en-US");

            Assert.Null(abbreviations.Generic);
            Assert.Equal("GMT", abbreviations.Standard);
            Assert.Equal("BST", abbreviations.Daylight);
        }
Example #14
0
        public void Can_Get_Abbreviations_For_Central_Europe()
        {
            TimeZoneValues abbreviations = TZNames.GetAbbreviationsForTimeZone("Central European Standard Time", "en-US");

            Assert.Equal("CET", abbreviations.Generic);
            Assert.Equal("CET", abbreviations.Standard);
            Assert.Equal("CEST", abbreviations.Daylight);
        }
Example #15
0
        public void Can_Get_Names_For_IE()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("Europe/Dublin", "en-US");

            Assert.Equal("Ireland Time", names.Generic);
            Assert.Equal("Greenwich Mean Time", names.Standard);
            Assert.Equal("Irish Standard Time", names.Daylight);
        }
Example #16
0
        public void Can_Get_Abbreviations_For_Sao_Tome()
        {
            TimeZoneValues abbreviations = TZNames.GetAbbreviationsForTimeZone("Sao Tome Standard Time", "en-GB");

            Assert.Equal("GMT", abbreviations.Generic);
            Assert.Equal("GMT", abbreviations.Standard);
            Assert.Equal("GMT", abbreviations.Daylight);
        }
Example #17
0
        public void Can_Get_French_Abbreviations_For_US_Pacific()
        {
            TimeZoneValues abbreviations = TZNames.GetAbbreviationsForTimeZone("America/Los_Angeles", "fr-CA");

            Assert.Equal("HP", abbreviations.Generic);
            Assert.Equal("HNP", abbreviations.Standard);
            Assert.Equal("HAP", abbreviations.Daylight);
        }
Example #18
0
        public void Can_Get_Abbreviations_For_US_Pacific()
        {
            TimeZoneValues abbreviations = TZNames.GetAbbreviationsForTimeZone("America/Los_Angeles", "en-US");

            Assert.Equal("PT", abbreviations.Generic);
            Assert.Equal("PST", abbreviations.Standard);
            Assert.Equal("PDT", abbreviations.Daylight);
        }
Example #19
0
        public void Can_Get_French_Names_For_US_Pacific()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("America/Los_Angeles", "fr-CA");

            Assert.Equal("heure du Pacifique", names.Generic);
            Assert.Equal("heure normale du Pacifique", names.Standard);
            Assert.Equal("heure avancée du Pacifique", names.Daylight);
        }
Example #20
0
        public void Can_Get_Names_For_UK()
        {
            TimeZoneValues names = TZNames.GetNamesForTimeZone("Europe/London", "en-US");

            Assert.Equal("United Kingdom Time", names.Generic);
            Assert.Equal("Greenwich Mean Time", names.Standard);
            Assert.Equal("British Summer Time", names.Daylight);
        }
Example #21
0
        public void Can_Get_English_Names_For_Alias_Cuba()
        {
            TimeZoneValues namesForZone  = TZNames.GetNamesForTimeZone("America/Havana", "en-US");
            TimeZoneValues namesForAlias = TZNames.GetNamesForTimeZone("Cuba", "en-US");

            Assert.Equal(namesForZone.Generic, namesForAlias.Generic);
            Assert.Equal(namesForZone.Standard, namesForAlias.Standard);
            Assert.Equal(namesForZone.Daylight, namesForAlias.Daylight);
        }
Example #22
0
 public void UpdateCityTokenAndGetData(String token, String name, TimeZoneValues timeZone)
 {
     // If the string is different update the data
     if (_cityToken.Equals(token) != true)
     {
         Debug.WriteLine("Updating city token and getting data");
         _cityToken = token;
         _cityName  = name;
         _cityTz    = timeZone;
         GetCalendarData(false);
     }
 }
Example #23
0
 private void AddStandardGenericName(string language, string zone, string name)
 {
     try
     {
         var langKey = NormalizeLangKey(language);
         var values  = new TimeZoneValues {
             Generic = name, Standard = name
         };
         _data.CldrLanguageData[langKey].LongNames.Add(zone, values);
     }
     catch
     {
         Console.WriteLine("No CLDR data for language " + language);
     }
 }
        private void CityStateListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            int index = CityStateListBox.SelectedIndex;

            // ignore invalid index
            if (index == -1)
            {
                return;
            }
            String         token = _state._cities[index]._UrlToken;
            String         name  = _state._cities[index]._Name;
            TimeZoneValues tz    = _state._cities[index]._timeZone;
            App            app   = Application.Current as App;

            app.Calendar.UpdateCityTokenAndGetData(token, name, tz);
            this.NavigationService.RemoveBackEntry();
            this.NavigationService.GoBack();
        }
Example #25
0
        private static string GetTimeZoneAbbreviation(DateTime timeZoneTime, TimeZoneInfo tz)
        {
            // Get abbreviated timezone name
            TimeZoneValues abbr = TZNames.GetAbbreviationsForTimeZone(tz.Id, "en-au");

            // Handling for things without abbreviations
            switch (abbr.Standard)
            {
            case "Japan Standard Time":
                abbr.Standard = "JST";
                break;

            default:
                break;
            }

            // Check if daylight savings applies
            return(tz.IsDaylightSavingTime(timeZoneTime) ? abbr.Daylight : abbr.Standard);
        }
Example #26
0
        static String GetFestivalData(int year, int month, int day, TimeZoneValues timeZone)
        {
            if (timeZone == TimeZoneValues.Unknown)
            {
                return(null);
            }
            Console.WriteLine("Timezone is + {0}", timeZone.ToString());
            DateTime date = new DateTime(year, month, day);

            foreach (FestivalData fest in festivalData)
            {
                String s = fest._Date[(int)timeZone];
                if (DateTime.Parse(s) == date)
                {
                    Console.WriteLine(fest._Festival + " " + date.ToString());
                    return(fest._Festival);
                }
            }
            return(null);
        }
        public static String GetFestivalData(int year, int month, int day, TimeZoneValues timeZone)
        {
            if (_FestivalData == null)
            {
                _FestivalData = InitializeFestivalData();
            }

            if (timeZone == TimeZoneValues.Unknown)
            {
                return null;
            }
            DateTime date = new DateTime(year, month, day);
            foreach (FestivalData fest in _FestivalData)
            {
                String s = fest._Date[(int)timeZone];
                DateTime festDate;

                if (s.Equals("NoData"))
                {
                    continue;
                }

                if (DateTime.TryParse(s, out festDate))
                {
                    if (festDate == date)
                    {
                        return fest._Festival;
                    }
                }
                else
                {
                    Debug.WriteLine("Date parsing failed" + s);
                }
            }
            return null;
        }
Example #28
0
        public void TestTimeZoneAbbreviations()
        {
            string       timeZoneId   = "Eastern Standard Time";
            TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);

            Assert.IsNotNull(timeZoneInfo);
            Assert.AreEqual(timeZoneId, timeZoneInfo.Id);

            string cultureName = CultureInfo.CurrentCulture.Name;

            Assert.AreEqual("en-US", cultureName);

            TimeZoneValues abbreviations = TZNames.GetAbbreviationsForTimeZone(timeZoneId, cultureName);

            Assert.AreEqual("ET", abbreviations.Generic);
            Assert.AreEqual("EST", abbreviations.Standard);
            Assert.AreEqual("EDT", abbreviations.Daylight);

            TimeZoneValues names = TZNames.GetNamesForTimeZone(timeZoneId, cultureName);

            Assert.AreEqual("Eastern Time", names.Generic);
            Assert.AreEqual(timeZoneId, names.Standard);
            Assert.AreEqual("Eastern Daylight Time", names.Daylight);
        }
Example #29
0
 public City(String Name, String UrlToken, TimeZoneValues timeZone)
 {
     _Name = Name;
     _timeZone = timeZone;
     _UrlToken = UrlToken;
 }
Example #30
0
        public String _UrlToken; // Valid if its a city

        #endregion Fields

        #region Constructors

        public City(String Name, String UrlToken)
        {
            _Name = Name;
            _UrlToken = UrlToken;
            _timeZone = TimeZoneValues.Unknown;
        }
Example #31
0
 public SubContinent(String name, StateOrCity[] stateOrCityList, TimeZoneValues timeZone)
 {
     _Name = name;
     _stateOrCityList = stateOrCityList;
     _timeZone = timeZone;
 }
Example #32
0
 public State(String Name, City[] cities, TimeZoneValues timeZone)
 {
     _Name = Name;
     _cities = cities;
     _timeZone = timeZone;
 }
Example #33
0
 public SubContinent(String name, StateOrCity[] stateOrCityList, TimeZoneValues timeZone)
 {
     _Name            = name;
     _stateOrCityList = stateOrCityList;
     _timeZone        = timeZone;
 }
Example #34
0
 public State(String Name, City[] cities, TimeZoneValues timeZone)
 {
     _Name     = Name;
     _cities   = cities;
     _timeZone = timeZone;
 }
Example #35
0
 public City(String Name, String UrlToken, TimeZoneValues timeZone)
 {
     _Name     = Name;
     _timeZone = timeZone;
     _UrlToken = UrlToken;
 }
Example #36
0
        private void AddFormatEntries(XContainer tzElement, string language)
        {
            var formats = tzElement.Elements("regionFormat")
                .ToDictionary(
                    x => x.Attribute("type") == null ? "generic" : x.Attribute("type").Value,
                    x => x.Value);

            if (formats.Count == 0)
                return;
            
            string s;
            var values = new TimeZoneValues();
            if (formats.TryGetValue("generic", out s))
                values.Generic = s;
            if (formats.TryGetValue("standard", out s))
                values.Standard = s;
            if (formats.TryGetValue("daylight", out s))
                values.Daylight = s;

            var langData = GetLangData(language);
            langData.Formats = values;
        }
Example #37
0
 private static TimeZoneValues GetTimeZoneValues(XContainer element)
 {
     var values = new TimeZoneValues();
     
     var genericElement = element.Element("generic");
     if (genericElement != null && genericElement.Value != "∅∅∅")
         values.Generic = genericElement.Value;
     
     var standardElement = element.Element("standard");
     if (standardElement != null && standardElement.Value != "∅∅∅")
         values.Standard = standardElement.Value;
     
     var daylightElement = element.Element("daylight");
     if (daylightElement != null && daylightElement.Value != "∅∅∅")
         values.Daylight = daylightElement.Value;
     
     return values;
 }