NAME
curl_getdate - Convert an date in a ASCII string to number of seconds since
January 1, 1970
SYNOPSIS
#include <curl/curl.h>
time_t curl_getdate(char *datestring, time_t *now );
DESCRIPTION
This function returns the number of seconds since January 1st 1970, for the
date and time that the
datestring
parameter specifies. The
now
parameter is there and should hold the current time to allow the datestring to
specify relative dates/times. Read further in the date string parser section
below.
PARSING DATES AND TIMES
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
-
This can be specified in a number of different ways. Including 1970-09-17, 70-9-17, 70-09-17, 9/17/72, 24 September 1972, 24 Sept 72, 24 Sep 72, Sep 24, 1972, 24-sep-72, 24sep72.
The year can also be omitted, for example: 9/17 or "sep 17".
- time of the day items
-
This string specifies the time on a given day. Syntax supported includes:
18:19:0, 18:19, 6:19pm, 18:19-0500 (for specifying the time zone as well).
- time zone items
-
Specifies international time zone. There are a few acronyms supported, but in
general you should instead use the specific relative time compared to
UTC. Supported formats include: -1200, MST, +0100.
- day of the week items
-
Specifies a day of the week. If this is mentioned alone it means that day of
the week in the future.
Days of the week may be spelled out in full: `Sunday', `Monday', etc or they
may be abbreviated to their first three letters, optionally followed by a
period. The special abbreviations `Tues' for `Tuesday', `Wednes' for
`Wednesday' and `Thur' or `Thurs' for `Thursday' are also allowed.
A number may precede a day of the week item to move forward supplementary
weeks. It is best used in expression like `third monday'. In this context,
`last DAY' or `next DAY' is also acceptable; they move one week before or
after the day that DAY by itself would represent.
- relative items
-
A relative item adjusts a date (or the current date if none) forward or
backward. Example syntax includes: "1 year", "1 year ago", "2 days", "4
weeks".
The string `tomorrow' is worth one day in the future (equivalent to `day'),
the string `yesterday' is worth one day in the past (equivalent to `day ago').
- pure numbers
-
If the decimal number is of the form YYYYMMDD and no other calendar date item
appears before it in the date string, then YYYY is read as the year, MM as the
month number and DD as the day of the month, for the specified calendar date.
RETURN VALUE
This function returns zero when it fails to parse the date string. Otherwise
it returns the number of seconds as described.
AUTHORS
Originally written by Steven M. Bellovin <
smb@research.att.com> while at the
University of North Carolina at Chapel Hill. Later tweaked by a couple of
people on Usenet. Completely overhauled by Rich $alz <
rsalz@bbn.com> and Jim
Berets <
jberets@bbn.com> in August, 1990.
It has been modified extensively since imported to curl.
SEE ALSO
GNUdate(1)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- PARSING DATES AND TIMES
-
- RETURN VALUE
-
- AUTHORS
-
- SEE ALSO
-