all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Vincent Belaïche" <vincent.b.1@hotmail.fr>
To: carsten.dominik@gmail.com
Cc: emacs-devel@gnu.org
Subject: ISO dates, correction on Org documentation
Date: Fri, 18 Sep 2009 07:44:35 +0200	[thread overview]
Message-ID: <87iqfglscc.fsf@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1713 bytes --]

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.



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ISO dates, correction on Org documentation --]
[-- Type: text/x-patch, Size: 2437 bytes --]

*** 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>}@footnote{This 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>}@footnote{This 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	other threads:[~2009-09-18  5:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-18  5:44 Vincent Belaïche [this message]
2009-09-19  5:59 ` ISO dates, correction on Org documentation Miles Bader
2009-09-19 19:11   ` Vincent Belaïche
2009-09-19 19:15     ` Vincent Belaïche
2009-09-20 11:56       ` Stephen J. Turnbull
2009-09-20 19:08 ` Carsten Dominik
2009-09-21 17:07 ` Carsten Dominik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87iqfglscc.fsf@gmail.com \
    --to=vincent.b.1@hotmail.fr \
    --cc=carsten.dominik@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.