@@ -17,11 +17,23 @@ semantics of these functions varies among platforms.
17
17
18
18
An explanation of some terminology and conventions is in order.
19
19
20
+ .. _epoch :
21
+
20
22
.. index :: single: epoch
21
23
22
- * The :dfn: `epoch ` is the point where the time starts. On January 1st of that
23
- year, at 0 hours, the "time since the epoch" is zero. For Unix, the epoch is
24
- 1970. To find out what the epoch is, look at ``gmtime(0) ``.
24
+ * The :dfn: `epoch ` is the point where the time starts, and is platform
25
+ dependent. For Unix, the epoch is January 1, 1970, 00:00:00 (UTC).
26
+ To find out what the epoch is on a given platform, look at
27
+ ``time.gmtime(0) ``.
28
+
29
+ .. _leap seconds : https://en.wikipedia.org/wiki/Leap_second
30
+
31
+ .. index :: seconds since the epoch
32
+
33
+ * The term :dfn: `seconds since the epoch ` refers to the total number
34
+ of elapsed seconds since the epoch, typically excluding
35
+ `leap seconds `_. Leap seconds are excluded from this total on all
36
+ POSIX-compliant platforms.
25
37
26
38
.. index :: single: Year 2038
27
39
@@ -463,7 +475,7 @@ The module defines the following functions and data items:
463
475
464
476
(2)
465
477
The range really is ``0 `` to ``61 ``; value ``60 `` is valid in
466
- timestamps representing leap seconds and value ``61 `` is supported
478
+ timestamps representing ` leap seconds `_ and value ``61 `` is supported
467
479
for historical reasons.
468
480
469
481
(3)
@@ -572,12 +584,28 @@ The module defines the following functions and data items:
572
584
573
585
.. function :: time()
574
586
575
- Return the time in seconds since the epoch as a floating point number.
587
+ Return the time in seconds since the epoch _ as a floating point
588
+ number. The specific date of the epoch and the handling of
589
+ `leap seconds `_ is platform dependent.
590
+ On Windows and most Unix systems, the epoch is January 1, 1970,
591
+ 00:00:00 (UTC) and leap seconds are not counted towards the time
592
+ in seconds since the epoch. This is commonly referred to as
593
+ `Unix time <https://en.wikipedia.org/wiki/Unix_time >`_.
594
+ To find out what the epoch is on a given platform, look at
595
+ ``gmtime(0) ``.
596
+
576
597
Note that even though the time is always returned as a floating point
577
598
number, not all systems provide time with a better precision than 1 second.
578
599
While this function normally returns non-decreasing values, it can return a
579
- lower value than a previous call if the system clock has been set back between
580
- the two calls.
600
+ lower value than a previous call if the system clock has been set back
601
+ between the two calls.
602
+
603
+ The number returned by :func: `.time ` may be converted into a more common
604
+ time format (i.e. year, month, day, hour, etc...) in UTC by passing it to
605
+ :func: `gmtime ` function or in local time by passing it to the
606
+ :func: `localtime ` function. In both cases a
607
+ :class: `struct_time ` object is returned, from which the components
608
+ of the calendar date may be accessed as attributes.
581
609
582
610
.. data :: timezone
583
611
0 commit comments