def _get_time_since(cls, date: str) -> TimeDelta: return datetime.datetime.now().astimezone( tz=tzlocal()) - utils.parse_iso_datetime(date)
def test_parse_iso_datetime_zone_naive(self): """ Test that parsing a time zone naive string gives tz naive datetime object. """ self.assertEqual(datetime.datetime(2009, 6, 15, 13, 45, 30), utils.parse_iso_datetime('2009-06-15T13:45:30.0000000'))
def test_parse_iso_datetime_with_time_zone_offset(self): """ Test that parsing a random date time works. """ self.assertEqual(datetime.datetime(2009, 6, 15, 13 + 7, 45, 30, tzinfo=tzutc()), utils.parse_iso_datetime('2009-06-15T13:45:30.0000000-0700').astimezone(tz=tzutc()))
def test_parse_iso_datetime_ignore_milliseconds(self): """ Test that it ignores fractions of second when parsing. """ self.assertEqual(datetime.datetime(2015, 10, 6, 15, 0, 1, tzinfo=tzutc()), utils.parse_iso_datetime('2015-10-06T15:00:01.105Z'))
def test_parse_iso_datetime(self): """ Test that parsing an ISO date given in utc time zone is done correctly. """ self.assertEqual(datetime.datetime(2015, 10, 6, 15, 0, 1, tzinfo=tzutc()), utils.parse_iso_datetime('2015-10-06T15:00:01Z'))
def test_some_datetime(self): """ Test that parsing a random date time works. """ self.assertEqual(datetime.datetime(2015, 10, 6, 15, 0, 1), utils.parse_iso_datetime('2015-10-06T15:00:01Z'))