[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ISO dates, correction on Org documentation
From: |
Vincent Belaïche |
Subject: |
ISO dates, correction on Org documentation |
Date: |
Fri, 18 Sep 2009 07:44:35 +0200 |
Hello Dominik,
The Org mode documentation says that Org mode uses ISO time
stamps. Although Org mode date/time format is inspired by ISO, it is not
fully compliant, see for instance http://fr.wikipedia.org/wiki/ISO_8601
on ISO date and time format.
I corrected the documentation and attached a patch.
FYI, in ISO date/time format looks like this:
2009-09-18T07:16
while Org mode is like that
<2009-09-18 ven. 07:16>
(this timestamp was generated by `C-c .' on my machine, `ven.' means
`Fri' in French).
Intervals and are supported by ISO, with a `/' separator, while org uses
a `-' separator which is ambiguous in ISO (+ or - are used for the time
zone).
ISO also supports intervals specified with a duration with the `P'
seperator, such intervals may be defined relative to begin date or
end date
ISO also supports repetitions with the `R' separator, while Org uses a
`+' separator.
If ever you want to implement ISO 8601 format into Org, I suggests that
ISO8601 timesamps/time interval are encapsulated into `<I' and `>' where
the leading `I' would help Org to disambiguate from native Org mode
format (although in case where `T', `P' or `R' is used, it is possible
to guess it's an ISO format.
So the example I gave would be:
<I2009-09-18T07:16>
There could also be some relaxed ISO using an `i' prefix like this:
<i2009-09-18T07:16(ven.)>
where the day short name (eg. `ven.') is shown between backets, as it is
cool to have this information. Relaxed ISO would just strip _anything_
between brackets before interpreting the timestamp, so it would be quite
robust to locale stuff (like `ven.' instead of `Fri').
Very best regards,
Vincent.
PS: I may contribute on this, if you wish.
*** org.texi.old Fri Sep 11 19:30:09 2009
--- org.texi Fri Sep 18 04:59:29 2009
***************
*** 4831,4844 ****
@cindex deadlines
@cindex scheduling
! A timestamp is a specification of a date (possibly with a time or a range
! of times) in a special format, either @samp{<2003-09-16 Tue>} or
@samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue
! 12:00-12:30>address@hidden is the standard ISO date/time format. To
! use an alternative format, see @ref{Custom time format}.}. A timestamp
! can appear anywhere in the headline or body of an Org tree entry. Its
! presence causes entries to be shown on specific dates in the agenda
! (@pxref{Weekly/daily agenda}). We distinguish:
@table @var
@item Plain timestamp; Event; Appointment
--- 4831,4844 ----
@cindex deadlines
@cindex scheduling
! A timestamp is a specification of a date (possibly with a time or a range of
! times) in a special format, either @samp{<2003-09-16 Tue>} or
@samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue
! 12:00-12:30>address@hidden format is inspired by the standard ISO 8601
! date/time format. To use an alternative format, see @ref{Custom time
! format}.}. A timestamp can appear anywhere in the headline or body of an Org
! tree entry. Its presence causes entries to be shown on specific dates in the
! agenda (@pxref{Weekly/daily agenda}). We distinguish:
@table @var
@item Plain timestamp; Event; Appointment
***************
*** 4985,4992 ****
@cindex time, reading in minibuffer
@vindex org-read-date-prefer-future
! When Org mode prompts for a date/time, the default is shown as an ISO
! date, and the prompt therefore seems to ask for an ISO date. But it
will in fact accept any string containing some date and/or time
information, and it is really smart about interpreting your input. You
can, for example, use @kbd{C-y} to paste a (possibly multi-line) string
--- 4985,4993 ----
@cindex time, reading in minibuffer
@vindex org-read-date-prefer-future
! When Org mode prompts for a date/time, the default value is shown in default
! date/time format which looks like an ISO date, and the prompt therefore seems
! to ask for a date/time in this format. But it
will in fact accept any string containing some date and/or time
information, and it is really smart about interpreting your input. You
can, for example, use @kbd{C-y} to paste a (possibly multi-line) string