def test_iso8601_conversion(self): import datetime from PySO8601 import Timezone field = micromodels.DateTimeField() field.populate("2010-07-13T14:01:00Z") result = field.to_python() expected = datetime.datetime(2010, 7, 13, 14, 1, 0, tzinfo=Timezone()) self.assertEqual(expected, result) field = micromodels.DateTimeField() field.populate("2010-07-13T14:02:00-05:00") result = field.to_python() expected = datetime.datetime(2010, 7, 13, 14, 2, 0, tzinfo=Timezone("-05:00")) self.assertEqual(expected, result) field = micromodels.DateTimeField() field.populate("20100713T140200-05:00") result = field.to_python() expected = datetime.datetime(2010, 7, 13, 14, 2, 0, tzinfo=Timezone("-05:00")) self.assertEqual(expected, result)
def it_should_parse_combined_date_full_time_short_tz(self): result = parse_date('2011-01-13T16:44:00+01') self.assertEqual( result, datetime.datetime(2011, 1, 13, 16, 44, 00, tzinfo=Timezone('+0100')))
def it_should_parse_intervals(self): a, b = parse_interval('2011-01-13T16:44:00+01:00/P6M4DT12H15M') self.assertEqual( a, datetime.datetime(2011, 1, 13, 16, 44, 00, tzinfo=Timezone('+0100'))) self.assertEqual(b, datetime.timedelta(days=186, hours=12, minutes=15))
def it_should_parse_separate_date_time_z(self): result = parse_date('2011-01-13T16:44Z') self.assertEqual( result, datetime.datetime(2011, 1, 13, 16, 44, 00, tzinfo=Timezone()))
def it_should_parse_combined_date_full_time_z(self): result = parse_date('20110113T164400Z') self.assertEqual( result, datetime.datetime(2011, 1, 13, 16, 44, 00, tzinfo=Timezone()))
def it_should_parse_minus_hours(self): self.assertEqual(str(Timezone('-01')), 'UTC-01:00')
def it_should_parse_minus_hours_mins_short(self): self.assertEqual(str(Timezone('-0130')), 'UTC-01:30')
def it_should_parse_plus_hours(self): self.assertEqual(str(Timezone('+01')), 'UTC+01:00')
def it_should_parse_z(self): self.assertEqual(str(Timezone('Z')), 'UTC')
def it_should_init_correctly(self): self.assertEqual(str(Timezone()), 'UTC')