Commit 822cfce3 authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Fixed #18951 -- Formatting of microseconds.

Thanks olofom at gmail com for the report.
parent baa33cd8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -110,8 +110,8 @@ class TimeFormat(Formatter):
        return '%02d' % self.data.second

    def u(self):
        "Microseconds"
        return self.data.microsecond
        "Microseconds; i.e. '000000' to '999999'"
        return '%06d' %self.data.microsecond


class DateFormat(TimeFormat):
+1 −1
Original line number Diff line number Diff line
@@ -1251,7 +1251,7 @@ S English ordinal suffix for day of the ``'st'``, ``'nd'``,
                  month, 2 characters.
t                 Number of days in the given month.        ``28`` to ``31``
T                 Time zone of this machine.                ``'EST'``, ``'MDT'``
u                 Microseconds.                             ``0`` to ``999999``
u                 Microseconds.                             ``000000`` to ``999999``
U                 Seconds since the Unix Epoch
                  (January 1 1970 00:00:00 UTC).
w                 Day of the week, digits without           ``'0'`` (Sunday) to ``'6'`` (Saturday)
+5 −0
Original line number Diff line number Diff line
@@ -72,6 +72,11 @@ class DateFormatTests(unittest.TestCase):

        self.assertEqual(dateformat.format(my_birthday, 'a'), 'p.m.')

    def test_microsecond(self):
        # Regression test for #18951
        dt = datetime(2009, 5, 16, microsecond=123)
        self.assertEqual(dateformat.format(dt, 'u'), '000123')

    def test_date_formats(self):
        my_birthday = datetime(1979, 7, 8, 22, 00)
        timestamp = datetime(2008, 5, 19, 11, 45, 23, 123456)