DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(cvs.info.gz) General date syntax

Info Catalog (cvs.info.gz) Date input formats (cvs.info.gz) Calendar date items
 
 A.6.1 General date syntax
 -------------------------
 
 A "date" is a string, possibly empty, containing many items separated
 by whitespace.  The whitespace may be omitted when no ambiguity arises.
 The empty string means the beginning of today (i.e., midnight).  Order
 of the items is immaterial.  A date string may contain many flavors of
 items:
 
    * calendar date items
 
    * time of day items
 
    * time zone items
 
    * day of the week items
 
    * relative items
 
    * pure numbers.
 
 We describe each of these item types in turn, below.
 
    A few ordinal numbers may be written out in words in some contexts.
 This is most useful for specifying day of the week items or relative
 items (see below).  Among the most commonly used ordinal numbers, the
 word `last' stands for -1, `this' stands for 0, and `first' and `next'
 both stand for 1.  Because the word `second' stands for the unit of
 time there is no way to write the ordinal number 2, but for convenience
 `third' stands for 3, `fourth' for 4, `fifth' for 5, `sixth' for 6,
 `seventh' for 7, `eighth' for 8, `ninth' for 9, `tenth' for 10,
 `eleventh' for 11 and `twelfth' for 12.
 
    When a month is written this way, it is still considered to be
 written numerically, instead of being "spelled in full"; this changes
 the allowed strings.
 
    In the current implementation, only English is supported for words
 and abbreviations like `AM', `DST', `EST', `first', `January',
 `Sunday', `tomorrow', and `year'.
 
    The output of the `date' command is not always acceptable as a date
 string, not only because of the language problem, but also because
 there is no standard meaning for time zone items like `IST'.  When using
 `date' to generate a date string intended to be parsed later, specify a
 date format that is independent of language and that does not use time
 zone items other than `UTC' and `Z'.  Here are some ways to do this:
 
      $ LC_ALL=C TZ=UTC0 date
      Mon Mar  1 00:21:42 UTC 2004
      $ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ'
      2004-03-01 00:21:42Z
      $ date --iso-8601=ns  # a GNU extension
      2004-02-29T16:21:42,692722128-0800
      $ date --rfc-2822  # a GNU extension
      Sun, 29 Feb 2004 16:21:42 -0800
      $ date +'%Y-%m-%d %H:%M:%S %z'  # %z is a GNU extension.
      2004-02-29 16:21:42 -0800
      $ date +'@%s.%N'  # %s and %N are GNU extensions.
      @1078100502.692722128
 
    Alphabetic case is completely ignored in dates.  Comments may be
 introduced between round parentheses, as long as included parentheses
 are properly nested.  Hyphens not followed by a digit are currently
 ignored.  Leading zeros on numbers are ignored.
 
Info Catalog (cvs.info.gz) Date input formats (cvs.info.gz) Calendar date items
automatically generated byinfo2html