summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Belopolsky <alexander.belopolsky@gmail.com>2010-06-05 14:54:26 (GMT)
committerAlexander Belopolsky <alexander.belopolsky@gmail.com>2010-06-05 14:54:26 (GMT)
commit3b818bfbfa8057f1163cb4665bf84b2cf230bb04 (patch)
tree7f19a65429cfea41cc598fada7a28158befd9780
parentf2c25c5cb0225c8c4ffeff34ae72f4cd2b6fe102 (diff)
downloadcpython-3b818bfbfa8057f1163cb4665bf84b2cf230bb04.zip
cpython-3b818bfbfa8057f1163cb4665bf84b2cf230bb04.tar.gz
cpython-3b818bfbfa8057f1163cb4665bf84b2cf230bb04.tar.bz2
Issue #8899: time.struct_time now has class and atribute docstrings.
-rw-r--r--Doc/library/time.rst17
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/timemodule.c26
3 files changed, 27 insertions, 18 deletions
diff --git a/Doc/library/time.rst b/Doc/library/time.rst
index 1ffef2b..c38b0e0 100644
--- a/Doc/library/time.rst
+++ b/Doc/library/time.rst
@@ -87,25 +87,26 @@ An explanation of some terminology and conventions is in order.
+=======+===================+=================================+
| 0 | :attr:`tm_year` | (for example, 1993) |
+-------+-------------------+---------------------------------+
- | 1 | :attr:`tm_mon` | range [1,12] |
+ | 1 | :attr:`tm_mon` | range [1, 12] |
+-------+-------------------+---------------------------------+
- | 2 | :attr:`tm_mday` | range [1,31] |
+ | 2 | :attr:`tm_mday` | range [1, 31] |
+-------+-------------------+---------------------------------+
- | 3 | :attr:`tm_hour` | range [0,23] |
+ | 3 | :attr:`tm_hour` | range [0, 23] |
+-------+-------------------+---------------------------------+
- | 4 | :attr:`tm_min` | range [0,59] |
+ | 4 | :attr:`tm_min` | range [0, 59] |
+-------+-------------------+---------------------------------+
- | 5 | :attr:`tm_sec` | range [0,61]; see **(1)** in |
+ | 5 | :attr:`tm_sec` | range [0, 61]; see **(1)** in |
| | | :func:`strftime` description |
+-------+-------------------+---------------------------------+
- | 6 | :attr:`tm_wday` | range [0,6], Monday is 0 |
+ | 6 | :attr:`tm_wday` | range [0, 6], Monday is 0 |
+-------+-------------------+---------------------------------+
- | 7 | :attr:`tm_yday` | range [1,366] |
+ | 7 | :attr:`tm_yday` | range [1, 366] |
+-------+-------------------+---------------------------------+
| 8 | :attr:`tm_isdst` | 0, 1 or -1; see below |
+-------+-------------------+---------------------------------+
- Note that unlike the C structure, the month value is a range of 1-12, not 0-11.
+ Note that unlike the C structure, the month value is a range of [1, 12],
+ not [0, 11].
A year value will be handled as described under "Year 2000 (Y2K) issues" above.
A ``-1`` argument as the daylight savings flag, passed to :func:`mktime` will
usually result in the correct daylight savings state to be filled in.
diff --git a/Misc/NEWS b/Misc/NEWS
index 8608d03..1d5cc02 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -52,6 +52,8 @@ C-API
Library
-------
+- Issue #8899: time.struct_time now has class and atribute docstrings.
+
- Issue #4487: email now accepts as charset aliases all codec aliases
accepted by the codecs module.
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 78dec7c..92f58c2 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -216,21 +216,27 @@ Delay execution for a given number of seconds. The argument may be\n\
a floating point number for subsecond precision.");
static PyStructSequence_Field struct_time_type_fields[] = {
- {"tm_year", NULL},
- {"tm_mon", NULL},
- {"tm_mday", NULL},
- {"tm_hour", NULL},
- {"tm_min", NULL},
- {"tm_sec", NULL},
- {"tm_wday", NULL},
- {"tm_yday", NULL},
- {"tm_isdst", NULL},
+ {"tm_year", "year, for example, 1993"},
+ {"tm_mon", "month of year, range [1, 12]"},
+ {"tm_mday", "day of month, range [1, 31]"},
+ {"tm_hour", "hours, range [0, 23]"},
+ {"tm_min", "minutes, range [0, 59]"},
+ {"tm_sec", "seconds, range [0, 61])"},
+ {"tm_wday", "day of week, range [0, 6], Monday is 0"},
+ {"tm_yday", "day of year, range [1, 366]"},
+ {"tm_isdst", "1 if summer time is in effect, 0 if not, and -1 if unknown"},
{0}
};
static PyStructSequence_Desc struct_time_type_desc = {
"time.struct_time",
- NULL,
+ "The time value as returned by gmtime(), localtime(), and strptime(), and\n"
+ " accepted by asctime(), mktime() and strftime(). May be considered as a\n"
+ " sequence of 9 integers.\n\n"
+ " Note that several fields' values are not the same as those defined by\n"
+ " the C language standard for struct tm. For example, the value of the\n"
+ " field tm_year is the actual year, not year - 1900. See individual\n"
+ " fields' descriptions for details.",
struct_time_type_fields,
9,
};