aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorPaul Eggert2024-08-12 14:31:19 -0700
committerPaul Eggert2024-08-12 14:52:34 -0700
commit7a828c938ca9daf37baa02a50bb6463e2b7c0b85 (patch)
treee823c7cbef9be1ac238f077c539bbb51799f2258 /doc
parent5d69e2916458148159d7f21257f3c4863b868690 (diff)
downloademacs-7a828c938ca9daf37baa02a50bb6463e2b7c0b85.tar.gz
emacs-7a828c938ca9daf37baa02a50bb6463e2b7c0b85.zip
Document time-parsing functions a bit better
See <https://bugs.gnu.org/72570#14>
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/os.texi26
1 files changed, 19 insertions, 7 deletions
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 3ba3da459bf..5839de4a650 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1800,19 +1800,31 @@ structure (@pxref{Time Conversion}). The argument @var{string} should
1800resemble an RFC 822 (or later) or ISO 8601 string, like ``Fri, 25 Mar 1800resemble an RFC 822 (or later) or ISO 8601 string, like ``Fri, 25 Mar
18012016 16:24:56 +0100'' or ``1998-09-12T12:21:54-0200'', but this 18012016 16:24:56 +0100'' or ``1998-09-12T12:21:54-0200'', but this
1802function will attempt to parse less well-formed time strings as well. 1802function will attempt to parse less well-formed time strings as well.
1803It parses an incomplete string like ``2024-08-13'' to an incomplete
1804structure like @samp{(nil nil nil 13 8 2024 nil -1 nil)}, in which
1805an unknown DST value is @minus{}1 and other unknown values are @code{nil}.
1803@end defun 1806@end defun
1804 1807
1805@vindex ISO 8601 date/time strings 1808@vindex ISO 8601 date/time strings
1806@defun iso8601-parse string 1809@defun iso8601-parse string
1807For a more strict function (that will error out upon invalid input), 1810This function acts like @code{parse-time-string} except it is stricter
1808this function can be used instead. It can parse all variants of 1811and errors out upon invalid input. It can parse all variants of
1809the ISO 8601 standard, so in addition to the formats mentioned above, 1812the ISO 8601 standard, so in addition to the formats mentioned above,
1810it also parses things like ``1998W45-3'' (week number) and 1813it also parses things like ``1998W45-3'' (week number) and
1811``1998-245'' (ordinal day number). To parse durations, there's 1814``1998-245'' (ordinal day number).
1812@code{iso8601-parse-duration}, and to parse intervals, there's 1815@end defun
1813@code{iso8601-parse-interval}. All these functions return decoded 1816
1814time structures, except the final one, which returns three of them 1817@defun iso8601-parse-duration string
1815(the start, the end, and the duration). 1818This function parses an ISO 8601 time duration @var{string}
1819and returns a decoded time structure.
1820@c FIXME: example? behavior on incomplete input?
1821@end defun
1822
1823@defun iso8601-parse-interval string
1824This function parses an ISO 8601 time interval @var{string}
1825and returns three decoded time structures
1826representing the start, the end, and the duration.
1827@c FIXME: example? behavior on incomplete input?
1816@end defun 1828@end defun
1817 1829
1818@defun format-time-string format-string &optional time zone 1830@defun format-time-string format-string &optional time zone