diff options
Diffstat (limited to 'docs/libcurl/gnurl_getdate.3')
-rw-r--r-- | docs/libcurl/gnurl_getdate.3 | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/docs/libcurl/gnurl_getdate.3 b/docs/libcurl/gnurl_getdate.3 new file mode 100644 index 000000000..eb122eaf3 --- /dev/null +++ b/docs/libcurl/gnurl_getdate.3 @@ -0,0 +1,110 @@ +.\" ************************************************************************** +.\" * _ _ ____ _ +.\" * Project ___| | | | _ \| | +.\" * / __| | | | |_) | | +.\" * | (__| |_| | _ <| |___ +.\" * \___|\___/|_| \_\_____| +.\" * +.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. +.\" * +.\" * This software is licensed as described in the file COPYING, which +.\" * you should have received as part of this distribution. The terms +.\" * are also available at https://curl.haxx.se/docs/copyright.html. +.\" * +.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell +.\" * copies of the Software, and permit persons to whom the Software is +.\" * furnished to do so, under the terms of the COPYING file. +.\" * +.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +.\" * KIND, either express or implied. +.\" * +.\" ************************************************************************** +.TH gnurl_getdate 3 "12 Aug 2005" "libcurl 7.0" "libgnurl Manual" +.SH NAME +curl_getdate - Convert a date string to number of seconds +.SH SYNOPSIS +.B #include <gnurl/curl.h> +.sp +.BI "time_t curl_getdate(char *" datestring ", time_t *"now " );" +.ad +.SH DESCRIPTION +\fIcurl_getdate(3)\fP returns the number of seconds since the Epoch, January +1st 1970 00:00:00 in the UTC time zone, for the date and time that the +\fIdatestring\fP parameter specifies. The \fInow\fP parameter is not used, +pass a NULL there. +.SH PARSING DATES AND TIMES +A "date" is a string containing several items separated by whitespace. The +order of the items is immaterial. A date string may contain many flavors of +items: +.TP 0.8i +.B calendar date items +Can be specified several ways. Month names can only be three-letter english +abbreviations, numbers can be zero-prefixed and the year may use 2 or 4 digits. +Examples: 06 Nov 1994, 06-Nov-94 and Nov-94 6. +.TP +.B time of the day items +This string specifies the time on a given day. You must specify it with 6 +digits with two colons: HH:MM:SS. To not include the time in a date string, +will make the function assume 00:00:00. Example: 18:19:21. +.TP +.B 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. +.TP +.B day of the week items +Specifies a day of the week. Days of the week may be spelled out in full +(using english): `Sunday', `Monday', etc or they may be abbreviated to their +first three letters. This is usually not info that adds anything. +.TP +.B pure numbers +If a decimal number of the form YYYYMMDD appears, 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. +.PP +.SH EXAMPLES +.nf +Sun, 06 Nov 1994 08:49:37 GMT +Sunday, 06-Nov-94 08:49:37 GMT +Sun Nov 6 08:49:37 1994 +06 Nov 1994 08:49:37 GMT +06-Nov-94 08:49:37 GMT +Nov 6 08:49:37 1994 +06 Nov 1994 08:49:37 +06-Nov-94 08:49:37 +1994 Nov 6 08:49:37 +GMT 08:49:37 06-Nov-94 Sunday +94 6 Nov 08:49:37 +1994 Nov 6 +06-Nov-94 +Sun Nov 6 94 +1994.Nov.6 +Sun/Nov/6/94/GMT +Sun, 06 Nov 1994 08:49:37 CET +06 Nov 1994 08:49:37 EST +Sun, 12 Sep 2004 15:05:58 -0700 +Sat, 11 Sep 2004 21:32:11 +0200 +20040912 15:05:58 -0700 +20040911 +0200 +.fi +.SH STANDARDS +This parser was written to handle date formats specified in RFC 822 (including +the update in RFC 1123) using time zone name or time zone delta and RFC 850 +(obsoleted by RFC 1036) and ANSI C's asctime() format. These formats are the +only ones RFC 7231 says HTTP applications may use. +.SH RETURN VALUE +This function returns -1 when it fails to parse the date string. Otherwise it +returns the number of seconds as described. + +On systems with a signed 32 bit time_t: if the year is larger than 2037 or +less than 1903, this function will return -1. + +On systems with an unsigned 32 bit time_t: if the year is larger than 2106 or +less than 1970, this function will return -1. + +On systems with 64 bit time_t: if the year is less than 1583, this function +will return -1. (The Gregorian calendar was first introduced 1582 so no "real" +dates in this way of doing dates existed before then.) +.SH "SEE ALSO" +.BR curl_easy_escape "(3), " curl_easy_unescape "(3), " +.BR CURLOPT_TIMECONDITION "(3), " CURLOPT_TIMEVALUE "(3) " |