def fit_millennium_fn(main_frame, current_period, navigation_fn): mean = GregorianDateTime.from_time(current_period.mean_time()) if mean.year > get_millenium_max_year(): year = get_millenium_max_year() else: year = max(get_min_year_containing_jan_1(), int(mean.year // 1000) * 1000) start = GregorianDateTime.from_ymd(year, 1, 1).to_time() end = GregorianDateTime.from_ymd(year + 1000, 1, 1).to_time() navigation_fn(lambda tp: tp.update(start, end))
def fit_millennium_fn(main_frame, current_period, navigation_fn): mean = GregorianDateTime.from_time(current_period.mean_time()) if mean.year > get_millenium_max_year(): year = get_millenium_max_year() else: year = max(get_min_year_containing_jan_1(), int(mean.year / 1000) * 1000) start = GregorianDateTime.from_ymd(year, 1, 1).to_time() end = GregorianDateTime.from_ymd(year + 1000, 1, 1).to_time() navigation_fn(lambda tp: tp.update(start, end))
def start(self, time): gregorian_time = GregorianDateTime.from_time(time) return GregorianDateTime.from_ymd( gregorian_time.year, gregorian_time.month, gregorian_time.day ).to_time()
def _convert_to_datetime(self, d): if isinstance(d, datetime): return GregorianDateTime(d.year, d.month, d.day, d.hour, d.minute, d.second).to_time() elif isinstance(d, date): return GregorianDateTime.from_ymd(d.year, d.month, d.day).to_time() else: raise TimelineIOError("Unknown date.")
def start(self, time): gregorian_time = GregorianDateTime.from_time(time) return GregorianDateTime.from_ymd( gregorian_time.year, gregorian_time.month, gregorian_time.day ).to_time()
def increment_day(self, date): year, month, day = date time = GregorianDateTime.from_ymd(year, month, day).to_time() if time < GregorianTimeType().get_max_time( ) - GregorianDelta.from_days(1): return GregorianDateTime.from_time( time + GregorianDelta.from_days(1)).to_date_tuple() return date
def fit_week_fn(main_frame, current_period, navigation_fn): mean = GregorianDateTime.from_time(current_period.mean_time()) start = GregorianDateTime.from_ymd(mean.year, mean.month, mean.day).to_time() weekday = GregorianTimeType().get_day_of_week(start) start = start - GregorianDelta.from_days(weekday) if not main_frame.week_starts_on_monday(): start = start - GregorianDelta.from_days(1) end = start + GregorianDelta.from_days(7) navigation_fn(lambda tp: tp.update(start, end))
def fit_week_fn(main_frame, current_period, navigation_fn): mean = GregorianDateTime.from_time(current_period.mean_time()) start = GregorianDateTime.from_ymd(mean.year, mean.month, mean.day).to_time() weekday = GregorianTimeType().get_day_of_week(start) start = start - GregorianDelta.from_days(weekday) if not main_frame.week_starts_on_monday(): start = start - GregorianDelta.from_days(1) end = start + GregorianDelta.from_days(7) navigation_fn(lambda tp: tp.update(start, end))
def _set_valid_day(self, new_year, new_month, new_day): done = False while not done: try: date = GregorianDateTime.from_ymd(new_year, new_month, new_day) done = True except Exception: new_day -= 1 return date.to_date_tuple()
def _set_valid_day(self, new_year, new_month, new_day): done = False while not done: try: date = GregorianDateTime.from_ymd(new_year, new_month, new_day) done = True except Exception: new_day -= 1 return date.to_date_tuple()
def start(self, time): gregorian_time = GregorianDateTime.from_time(time) new_gregorian = GregorianDateTime.from_ymd(gregorian_time.year, 1, 1) return new_gregorian.to_time()
def start(self, time): return GregorianDateTime.from_ymd( self._decade_start_year(GregorianDateTime.from_time(time).year), 1, 1 ).to_time()
def start(self, time): gregorian_time = GregorianDateTime.from_time(time) new_gregorian = GregorianDateTime.from_ymd(gregorian_time.year, 1, 1) return new_gregorian.to_time()
def start(self, time): return GregorianDateTime.from_ymd( self._decade_start_year(GregorianDateTime.from_time(time).year), 1, 1).to_time()
def increment_day(self, date): year, month, day = date time = GregorianDateTime.from_ymd(year, month, day).to_time() if time < GregorianTimeType().get_max_time() - GregorianDelta.from_days(1): return GregorianDateTime.from_time(time + GregorianDelta.from_days(1)).to_date_tuple() return date