[Python-checkins] r87914 - python/branches/py3k/Doc/library/datetime.rst

alexander.belopolsky python-checkins at python.org
Tue Jan 11 00:28:33 CET 2011


Author: alexander.belopolsky
Date: Tue Jan 11 00:28:33 2011
New Revision: 87914

Log:
Improved description of %Y directive.

Modified:
   python/branches/py3k/Doc/library/datetime.rst

Modified: python/branches/py3k/Doc/library/datetime.rst
==============================================================================
--- python/branches/py3k/Doc/library/datetime.rst	(original)
+++ python/branches/py3k/Doc/library/datetime.rst	Tue Jan 11 00:28:33 2011
@@ -1661,10 +1661,6 @@
 implementation.  Note that the 1999 version of the C standard added additional
 format codes.
 
-The exact range of years for which :meth:`strftime` works also varies
-across platforms.  Regardless of platform, years before 1000 cannot be
-used with ``datetime`` module ``strftime()`` methods.
-
 +-----------+--------------------------------+-------+
 | Directive | Meaning                        | Notes |
 +===========+================================+=======+
@@ -1737,10 +1733,11 @@
 | ``%y``    | Year without century as a      |       |
 |           | decimal number [00,99].        |       |
 +-----------+--------------------------------+-------+
-| ``%Y``    | Year with century as a decimal |       |
-|           | number.                        |       |
+| ``%Y``    | Year with century as a decimal | \(5)  |
+|           | number [0001,9999] (strptime), |       |
+|           | [1000,9999] (strftime).        |       |
 +-----------+--------------------------------+-------+
-| ``%z``    | UTC offset in the form +HHMM   | \(5)  |
+| ``%z``    | UTC offset in the form +HHMM   | \(6)  |
 |           | or -HHMM (empty string if the  |       |
 |           | the object is naive).          |       |
 +-----------+--------------------------------+-------+
@@ -1772,6 +1769,18 @@
    calculations when the day of the week and the year are specified.
 
 (5)
+   For technical reasons, :meth:`strftime` method does not support
+   dates with year < 1000: ``t.strftime(format)`` will raise a
+   :exc:`ValueError` even if ``format`` does not contain ``%Y``
+   directive.  The :meth:`strptime` method can parse years in the full
+   [1, 9999] range, but years < 1000 must be zero-filled to 4-digit
+   width.
+
+   .. versionchanged:: 3.2
+      In previous versions, :meth:`strftime` method was restricted to
+      years >= 1900.
+
+(6)
    For example, if :meth:`utcoffset` returns ``timedelta(hours=-3, minutes=-30)``,
    ``%z`` is replaced with the string ``'-0330'``.
 


More information about the Python-checkins mailing list