Skip to content

Commit 19577fe

Browse files
committed
And for %:z directive
1 parent 05c143d commit 19577fe

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

Doc/library/datetime.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2548,7 +2548,7 @@ requires, and these work on all platforms with a standard C implementation.
25482548
+-----------+--------------------------------+------------------------+-------+
25492549
| ``%z`` | UTC offset in the form | (empty), +0000, | \(6) |
25502550
| | ``±HH[MM[SS[.ffffff]]]`` | -0400, +1030, | |
2551-
| | (empty string if the object is | +063415, | |
2551+
| | (empty string if the object is | +063415, +04, | |
25522552
| | naive). | -030712.345216 | |
25532553
+-----------+--------------------------------+------------------------+-------+
25542554
| ``%Z`` | Time zone name (empty string | (empty), UTC, GMT | \(6) |
@@ -2609,8 +2609,8 @@ convenience. These parameters all correspond to ISO 8601 date values.
26092609
| | Jan 4. | | |
26102610
+-----------+--------------------------------+------------------------+-------+
26112611
| ``%:z`` | UTC offset in the form | (empty), +00:00, | \(6) |
2612-
| | ``±HH:MM[:SS[.ffffff]]`` | -04:00, +10:30, | |
2613-
| | (empty string if the object is | +06:34:15, | |
2612+
| | ``±HH[:MM[:SS[.ffffff]]]`` | -04:00, +10:30, | |
2613+
| | (empty string if the object is | +06:34:15, +04, | |
26142614
| | naive). | -03:07:12.345216 | |
26152615
+-----------+--------------------------------+------------------------+-------+
26162616

Lib/test/datetimetester.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2902,7 +2902,9 @@ def test_strptime(self):
29022902
strptime = self.theclass.strptime
29032903

29042904
self.assertEqual(strptime("+01", "%z").utcoffset(), 1 * HOUR)
2905+
self.assertEqual(strptime("+01", "%:z").utcoffset(), 1 * HOUR)
29052906
self.assertEqual(strptime("-10", "%z").utcoffset(), -10 * HOUR)
2907+
self.assertEqual(strptime("-10", "%:z").utcoffset(), -10 * HOUR)
29062908
self.assertEqual(strptime("+0002", "%z").utcoffset(), 2 * MINUTE)
29072909
self.assertEqual(strptime("-0002", "%z").utcoffset(), -2 * MINUTE)
29082910
self.assertEqual(
@@ -4066,7 +4068,9 @@ def test_strptime(self):
40664068
def test_strptime_tz(self):
40674069
strptime = self.theclass.strptime
40684070
self.assertEqual(strptime("+01", "%z").utcoffset(), 1 * HOUR)
4071+
self.assertEqual(strptime("+01", "%:z").utcoffset(), 1 * HOUR)
40694072
self.assertEqual(strptime("-10", "%z").utcoffset(), -10 * HOUR)
4073+
self.assertEqual(strptime("-10", "%:z").utcoffset(), -10 * HOUR)
40704074
self.assertEqual(strptime("+0002", "%z").utcoffset(), 2 * MINUTE)
40714075
self.assertEqual(strptime("-0002", "%z").utcoffset(), -2 * MINUTE)
40724076
self.assertEqual(

Lib/test/test_strptime.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -394,12 +394,6 @@ def test_offset(self):
394394
one_hour = 60 * 60
395395
half_hour = 30 * 60
396396
half_minute = 30
397-
(*_, offset), _, offset_fraction = _strptime._strptime("+09", "%z")
398-
self.assertEqual(offset, 9 * one_hour)
399-
self.assertEqual(offset_fraction, 0)
400-
(*_, offset), _, offset_fraction = _strptime._strptime("-01", "%z")
401-
self.assertEqual(offset, -one_hour)
402-
self.assertEqual(offset_fraction, 0)
403397
(*_, offset), _, offset_fraction = _strptime._strptime("+0130", "%z")
404398
self.assertEqual(offset, one_hour + half_hour)
405399
self.assertEqual(offset_fraction, 0)
@@ -414,6 +408,8 @@ def test_offset(self):
414408
self.assertEqual(offset_fraction, -1)
415409

416410
cases = [
411+
("-01", -one_hour, 0),
412+
("+09", 9 * one_hour, 0),
417413
("+01:00", one_hour, 0),
418414
("-01:30", -(one_hour + half_hour), 0),
419415
("-01:30:30", -(one_hour + half_hour + half_minute), 0),
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
Update input time zone format from ``±HHMM[SS[.ffffff]]`` to
22
``±HH[MM[SS[.ffffff]]]`` for :meth:`datetime.date.strptime`,
3-
:meth:`datetime.datetime.strptime` and :meth:`datetime.time.strptime` methods.
4-
Patch by Semyon Moroz.
3+
:meth:`datetime.datetime.strptime`, :meth:`datetime.time.strptime` and
4+
:func:`time.strptime`. Patch by Semyon Moroz.

0 commit comments

Comments
 (0)