def test_hour_formatting(self): l = "en_US" t = time(0, 0, 0) self.assertEqual(dates.format_time(t, "h a", locale=l), "12 AM") self.assertEqual(dates.format_time(t, "H", locale=l), "0") self.assertEqual(dates.format_time(t, "k", locale=l), "24") self.assertEqual(dates.format_time(t, "K a", locale=l), "0 AM") t = time(12, 0, 0) self.assertEqual(dates.format_time(t, "h a", locale=l), "12 PM") self.assertEqual(dates.format_time(t, "H", locale=l), "12") self.assertEqual(dates.format_time(t, "k", locale=l), "12") self.assertEqual(dates.format_time(t, "K a", locale=l), "0 PM")
def time(self, time=None, format='medium'): """Return a time formatted according to the given pattern. >>> from datetime import datetime >>> from pytz import timezone >>> fmt = Format('en_US', tzinfo=timezone('US/Eastern')) >>> fmt.time(datetime(2007, 4, 1, 15, 30)) u'11:30:00 AM' """ return format_time(time, format, tzinfo=self.tzinfo, locale=self.locale)
def test_format_time(): t = time(15, 30) assert dates.format_time(t, locale="en_US") == u"3:30:00 PM" assert dates.format_time(t, format="short", locale="de_DE") == u"15:30" assert dates.format_time(t, "hh 'o''clock' a", locale="en") == u"03 o'clock PM" t = datetime(2007, 4, 1, 15, 30) tzinfo = timezone("Europe/Paris") t = tzinfo.localize(t) fr = dates.format_time(t, format="full", tzinfo=tzinfo, locale="fr_FR") assert fr == u"15:30:00 heure avanc\xe9e d\u2019Europe centrale" custom = dates.format_time(t, "hh 'o''clock' a, zzzz", tzinfo=timezone("US/Eastern"), locale="en") assert custom == u"09 o'clock AM, Eastern Daylight Time" t = time(15, 30) paris = dates.format_time(t, format="full", tzinfo=timezone("Europe/Paris"), locale="fr_FR") assert paris == u"15:30:00 heure normale de l\u2019Europe centrale" us_east = dates.format_time(t, format="full", tzinfo=timezone("US/Eastern"), locale="en_US") assert us_east == u"3:30:00 PM Eastern Standard Time"
def test_can_format_time_with_non_pytz_timezone(self): # regression test for #257 utc = self._utc() t = datetime(2007, 4, 1, 15, 30, tzinfo=utc) formatted_time = dates.format_time(t, "long", tzinfo=utc, locale="en") self.assertEqual("3:30:00 PM +0000", formatted_time)
def test_with_float(self): d = datetime(2012, 4, 1, 15, 30, 29, tzinfo=timezone("UTC")) epoch = float(calendar.timegm(d.timetuple())) formatted_time = dates.format_time(epoch, format="long", locale="en_US") self.assertEqual(u"3:30:29 PM +0000", formatted_time)
def test_with_naive_datetime_and_tzinfo(self): string = dates.format_time(datetime(2007, 4, 1, 15, 30), "long", tzinfo=timezone("US/Eastern"), locale="en") self.assertEqual("11:30:00 AM EDT", string)