emacs-devel
[Top][All Lists]
Advanced

[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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]