![]() | ![]() | ![]() | parse-date | ![]() |
| string
&key start end
| [Function] |
Purpose
Parse a date-specification string.
Package :gbbopen-tools
(home package is :module-manager
Module :module-manager
Arguments and values
string | A simple string | |
start | Starting index into string (default is 0 )
| |
end | Ending index into string (default is nil , meaning
end of string)
| |
junk-allowed | A generalized boolean (default is nil )
| |
separators | A sequence of characters that are skipped and separate the
date, month, and year fields in string, if needed (default is
"-/ ," | |
month-precedes-date | A generalized boolean (default is
| |
year-first | A generalized boolean (default is
| |
default-to-current-year | A generalized boolean (default is nil )
| |
date | An integer between 1 and up to 31, inclusive, depending on the month and year | |
month | An integer between 1 and 12, inclusive | |
year | An integer | |
position | A index in string |
Returns
Four values: date, month, year, and
Errors
If junk-allowed is false, an error is signaled if a numeric field in
string does not consist entirely of the representation of a integer,
possibly surrounded on either side by characters in
Description
Both the month and date must be specified in string, optionally followed
by the year and the time of day. The month can be a numeric value (1–12), a
three-letter abbreviation, or the full month name. If the month is specified
numerically, then the value of nil
, the current calendar year
is assumed, unless the specified month and date have passed, in which case the
next year is assumed. If no year is specified in string and
The returned position is the index within string where the parse ended.
See also
*month-precedes-date*
encode-date-and-time
encode-time-of-day
parse-date-and-time
parse-duration
parse-time
Examples
> (parse-date "1 Apr 2010") 1 4 2010 10 > (parse-date "April 1, 2010") 1 4 2010 13 > (parse-date "Thu 1 Apr 2010") 1 4 2010 14 > (parse-date "Thursday, April 1, 2010") 1 4 2010 23 > (parse-date "1-4-10" :month-precedes-date 't) 4 1 2010 6 > (parse-date "1-4-10" :month-precedes-date nil) 1 4 2010 6 > (parse-date "1-4-10" :month-precedes-date 't :year-first 't) 10 4 2001 6 > (parse-date "1-4-10" :month-precedes-date nil :year-first 't) 4 10 2001 6 > (parse-date "4 Jul") ;; entered May 1, 2008 4 7 2008 5 > (parse-date "4 Jul") ;; entered August 1, 2008 4 7 2009 5 > (parse-date "4 Jul" ;; entered August 1, 2008 :default-to-current-year 't) 4 7 2008 5 > (parse-date "4/7 " :month-precedes-date nil) 4 7 2008 5 > (parse-date "4/7 junk" :junk-allowed 't) 7 4 2008 5 >
Note
This function is loaded with the :module-manager
The GBBopen Project
![]() | ![]() | ![]() | parse-date | ![]() |