TimeZoneDefinition.withTimeZone constructor
TimeZoneDefinition.withTimeZone(
- TimeZone timeZoneInfo
Implementation
TimeZoneDefinition.withTimeZone(TimeZone timeZoneInfo) {
throw NotImplementedException("TimeZoneDefinition.withTimeZone");
// this.Id = timeZoneInfo.Id;
// this.Name = timeZoneInfo.DisplayName;
//
// // TimeZoneInfo only supports one standard period, which bias is the time zone's base
// // offset to UTC.
// TimeZonePeriod standardPeriod = new TimeZonePeriod();
// standardPeriod.Id = TimeZonePeriod.StandardPeriodId;
// standardPeriod.Name = TimeZonePeriod.StandardPeriodName;
// standardPeriod.Bias = -timeZoneInfo.BaseUtcOffset;
//
// TimeZoneInfo.AdjustmentRule[] adjustmentRules = timeZoneInfo.GetAdjustmentRules();
//
// TimeZoneTransition transitionToStandardPeriod = new TimeZoneTransition(this, standardPeriod);
//
// if (adjustmentRules.Length == 0)
// {
// this.periods.Add(standardPeriod.Id, standardPeriod);
//
// // If the time zone info doesn't support Daylight Saving Time, we just need to
// // create one transition to one group with one transition to the standard period.
// TimeZoneTransitionGroup transitionGroup = new TimeZoneTransitionGroup(this, "0");
// transitionGroup.Transitions.Add(transitionToStandardPeriod);
//
// this.transitionGroups.Add(transitionGroup.Id, transitionGroup);
//
// TimeZoneTransition initialTransition = new TimeZoneTransition(this, transitionGroup);
//
// this.transitions.Add(initialTransition);
// }
// else
// {
// for (int i = 0; i < adjustmentRules.Length; i++)
// {
// TimeZoneTransitionGroup transitionGroup = new TimeZoneTransitionGroup(this, this.transitionGroups.Count.ToString());
// transitionGroup.InitializeFromAdjustmentRule(adjustmentRules[i], standardPeriod);
//
// this.transitionGroups.Add(transitionGroup.Id, transitionGroup);
//
// TimeZoneTransition transition;
//
// if (i == 0)
// {
// // If the first adjustment rule's start date in not undefined (DateTime.MinValue)
// // we need to add a dummy group with a single, simple transition to the Standard
// // period and a group containing the transitions mapping to the adjustment rule.
// if (adjustmentRules[i].DateStart > DateTime.MinValue.Date)
// {
// TimeZoneTransition transitionToDummyGroup = new TimeZoneTransition(
// this,
// this.CreateTransitionGroupToPeriod(standardPeriod));
//
// this.transitions.Add(transitionToDummyGroup);
//
// AbsoluteDateTransition absoluteDateTransition = new AbsoluteDateTransition(this, transitionGroup);
// absoluteDateTransition.DateTime = adjustmentRules[i].DateStart;
//
// transition = absoluteDateTransition;
// this.periods.Add(standardPeriod.Id, standardPeriod);
// }
// else
// {
// transition = new TimeZoneTransition(this, transitionGroup);
// }
// }
// else
// {
// AbsoluteDateTransition absoluteDateTransition = new AbsoluteDateTransition(this, transitionGroup);
// absoluteDateTransition.DateTime = adjustmentRules[i].DateStart;
//
// transition = absoluteDateTransition;
// }
//
// this.transitions.Add(transition);
// }
//
// // If the last adjustment rule's end date is not undefined (DateTime.MaxValue),
// // we need to create another absolute date transition that occurs the date after
// // the last rule's end date. We target this additional transition to a group that
// // contains a single simple transition to the Standard period.
// DateTime lastAdjustmentRuleEndDate = adjustmentRules[adjustmentRules.Length - 1].DateEnd;
//
// if (lastAdjustmentRuleEndDate < DateTime.MaxValue.Date)
// {
// AbsoluteDateTransition transitionToDummyGroup = new AbsoluteDateTransition(
// this,
// this.CreateTransitionGroupToPeriod(standardPeriod));
// transitionToDummyGroup.DateTime = lastAdjustmentRuleEndDate.AddDays(1);
//
// this.transitions.Add(transitionToDummyGroup);
// }
// }
}