public StaticDateTimeRange ToStatic(TimeZoneInfo timeZone)
 {
   var result = new StaticDateTimeRange();
   result.StartDate = GetDateFromDynamic(this.StartMagnitude, this.StartOffset, false, DateTimeOffset.UtcNow, this.FirstDayOfWeek, timeZone);
   result.EndDate = GetDateFromDynamic(this.EndMagnitude, this.EndOffset, true, DateTimeOffset.UtcNow, this.FirstDayOfWeek, timeZone);
   result.TimeZone = timeZone;
   return result;
 }
 public StaticDateTimeRange ToTimeZone(TimeZoneInfo timeZone)
 {
   if (timeZone == this.TimeZone) return this;
   var result = new StaticDateTimeRange();
   result.EndDate = TimeZoneInfo.ConvertTime(this.EndDate, this.TimeZone, timeZone);
   result.StartDate = TimeZoneInfo.ConvertTime(this.StartDate, this.TimeZone, timeZone);
   result.TimeZone = timeZone;
   return result;
 }