def hydrate_date(days): """ Hydrator for `Date` values. :param days: :return: Date """ return Date.from_ordinal(get_date_unix_epoch_ordinal() + days)
def test_year_week_day(self): for ordinal in range( Date(2001, 1, 1).to_ordinal(), Date(2008, 1, 1).to_ordinal()): self.assertEqual( Date.from_ordinal(ordinal).iso_calendar(), date.fromordinal(ordinal).isocalendar())
def hydrate_date(days): """ Hydrator for `Date` values. :param days: :return: Date """ return Date.from_ordinal(UNIX_EPOCH_DATE_ORDINAL + days)
def test_zero_ordinal(self): d = Date.from_ordinal(0) self.assertEqual(d.year_month_day, (0, 0, 0)) self.assertEqual(d.year, 0) self.assertEqual(d.month, 0) self.assertEqual(d.day, 0) self.assertIs(d, ZeroDate)
def hydrate_datetime(seconds, nanoseconds, tz=None): """ Hydrator for `DateTime` and `LocalDateTime` values. :param seconds: :param nanoseconds: :param tz: :return: datetime """ minutes, seconds = map(int, divmod(seconds, 60)) hours, minutes = map(int, divmod(minutes, 60)) days, hours = map(int, divmod(hours, 24)) seconds = (1000000000 * seconds + nanoseconds) / 1000000000 t = DateTime.combine(Date.from_ordinal(UNIX_EPOCH_DATE_ORDINAL + days), Time(hours, minutes, seconds)) if tz is None: return t if isinstance(tz, int): tz_offset_minutes, tz_offset_seconds = divmod(tz, 60) zone = FixedOffset(tz_offset_minutes) else: zone = timezone(tz) return zone.localize(t)
def test_ordinal_at_end_of_2017(self): d = Date.from_ordinal(736694) self.assertEqual(d.year_month_day, (2017, 12, 31)) self.assertEqual(d.year, 2017) self.assertEqual(d.month, 12) self.assertEqual(d.day, 31)
def test_ordinal_at_start_of_2018(self): d = Date.from_ordinal(736695) self.assertEqual(d.year_month_day, (2018, 1, 1)) self.assertEqual(d.year, 2018) self.assertEqual(d.month, 1) self.assertEqual(d.day, 1)
def test_ordinal_at_end_of_1969(self): d = Date.from_ordinal(719162) self.assertEqual(d.year_month_day, (1969, 12, 31)) self.assertEqual(d.year, 1969) self.assertEqual(d.month, 12) self.assertEqual(d.day, 31)
def test_ordinal_at_start_of_1970(self): d = Date.from_ordinal(719163) self.assertEqual(d.year_month_day, (1970, 1, 1)) self.assertEqual(d.year, 1970) self.assertEqual(d.month, 1) self.assertEqual(d.day, 1)
def test_from_ordinal(self): d = Date.from_ordinal(1) self.assertEqual(d, Date(1, 1, 1))