public List <GPTimeZone> getTimeZones() { if (tzonesList == null) { tzonesList = new List <GPTimeZone>(); XmlNode node = getMainNode(); XmlElement elem = node as XmlElement; foreach (XmlElement item in elem.ChildNodes) { if (item.Name == "timezone") { GPTimeZone tzone = new GPTimeZone(); tzone.Id = LastId++; foreach (XmlElement subs in item.ChildNodes) { if (subs.Name == "name") { tzone.Name = subs.InnerText; } else if (subs.Name == "transition") { GPTimeZone.Transition trans = new GPTimeZone.Transition(); if (subs.HasAttribute("date")) { trans.setDateString(subs.GetAttribute("date")); } if (subs.HasAttribute("offset")) { int.TryParse(subs.GetAttribute("offset"), out trans.OffsetInSeconds); } if (subs.HasAttribute("abbr")) { trans.Abbreviation = subs.GetAttribute("abbr"); } if (subs.HasAttribute("dst")) { int dst = 0; int.TryParse(subs.GetAttribute("dst"), out dst); trans.Dst = ((dst == 1) ? true : false); if (trans.Dst == false && tzone.OffsetSeconds == 0) { tzone.OffsetSeconds = trans.OffsetInSeconds; } } tzone.Transitions.Add(trans); } } tzone.RefreshEnds(); if (tzone.Name.Length > 0) { tzonesList.Add(tzone); } } } } return(tzonesList); }
public void setTimeZone(GPTimeZone value) { timezone = value; if (timezone != null) { timezoneName = timezone.Name; } }
public GPLocation(GPLocation loc) { _id = loc.getId(); city = loc.city; setLatitudeNorthPositive(loc.GetLatitudeNorthPositive()); setLongitudeEastPositive(loc.GetLongitudeEastPositive()); countryCode = loc.countryCode; timezoneName = loc.timezoneName; timezone = loc.timezone; }
public double getTimeZoneOffsetHours() { if (timezone == null) { timezone = GPTimeZoneList.sharedTimeZones().GetTimezoneByName(timezoneName); } if (timezone != null) { return(Convert.ToDouble(timezone.OffsetSeconds) / 3600.0); } return(0.0); }
public double getTimeZoneOffsetHours() { GPLocation loc = getLocation(); if (loc == null) { return(0); } GPTimeZone tz = loc.getTimeZone(); if (tz == null) { return(0); } return(tz.OffsetSeconds / 3600.0); }
// textual representation of timezone base offset public string getOffsetString() { return(GPTimeZone.SecondsToString(OffsetSeconds, 2)); }
public List <GPTimeZone> getTimeZones() { if (tzonesList == null) { tzonesList = new List <GPTimeZone>(); XmlNode node = getMainNode(); XmlElement elem = node as XmlElement; string s1; foreach (XmlElement item in elem.ChildNodes) { if (item.Name == "timezone") { GPTimeZone tzone = new GPTimeZone(); if (item.HasAttribute("normalAbbr")) { tzone.NormalAbbr = item.GetAttribute("normalAbbr"); } if (item.HasAttribute("dstAbbr")) { tzone.DstAbbr = item.GetAttribute("dstAbbr"); } if (item.HasAttribute("offset")) { s1 = item.GetAttribute("offset"); tzone.OffsetSeconds = 0; int.TryParse(s1, out tzone.OffsetSeconds); tzone.OffsetSeconds *= 60; } if (item.HasAttribute("dst")) { tzone.DstUsed = item.GetAttribute("dst").Equals("True"); } tzone.Id = getNextId(); foreach (XmlElement subs in item.ChildNodes) { if (subs.Name == "name") { tzone.Name = subs.InnerText; } else if (subs.Name == "transition") { GPTimeZone.Transition trans = new GPTimeZone.Transition(); if (subs.HasAttribute("date")) { trans.startDate = GPTimeZone.Transition.recognizeDateTime(subs.GetAttribute("date")); } if (subs.HasAttribute("datend")) { trans.endDate = GPTimeZone.Transition.recognizeDateTime(subs.GetAttribute("datend")); } if (subs.HasAttribute("offset")) { int.TryParse(subs.GetAttribute("offset"), out trans.OffsetInSeconds); trans.OffsetInSeconds *= 60; } tzone.Transitions.Add(trans); } else if (subs.Name.Equals("rule")) { GPTimeZone.Rule rule = new GPTimeZone.Rule(); if (subs.HasAttribute("ruleStart")) { rule.startDay = GPTimeZone.Rule.recognizeDaySpec(subs.GetAttribute("ruleStart")); } if (subs.HasAttribute("ruleEnd")) { rule.endDay = GPTimeZone.Rule.recognizeDaySpec(subs.GetAttribute("ruleEnd")); } if (subs.HasAttribute("yearStart")) { int.TryParse(subs.GetAttribute("yearStart"), out rule.startYear); } if (subs.HasAttribute("yearEnd")) { int.TryParse(subs.GetAttribute("yearEnd"), out rule.endYear); } if (subs.HasAttribute("offset")) { int.TryParse(subs.GetAttribute("offset"), out rule.OffsetSeconds); rule.OffsetSeconds *= 60; } tzone.Rules.Add(rule); } } // tzone.RefreshEnds(); if (tzone.Name.Length > 0) { tzonesList.Add(tzone); } } } } return(tzonesList); }
public void addTimezone(GPTimeZone ntz) { getTimeZones().Add(ntz); Modified = true; }
public void setTimeZoneName(string value) { timezoneName = value; timezone = GPTimeZoneList.sharedTimeZones().GetTimezoneByName(timezoneName); }