Annotation of embedaddon/curl/docs/libcurl/curl_getdate.3, revision 1.1
1.1 ! misho 1: .\" **************************************************************************
! 2: .\" * _ _ ____ _
! 3: .\" * Project ___| | | | _ \| |
! 4: .\" * / __| | | | |_) | |
! 5: .\" * | (__| |_| | _ <| |___
! 6: .\" * \___|\___/|_| \_\_____|
! 7: .\" *
! 8: .\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
! 9: .\" *
! 10: .\" * This software is licensed as described in the file COPYING, which
! 11: .\" * you should have received as part of this distribution. The terms
! 12: .\" * are also available at https://curl.haxx.se/docs/copyright.html.
! 13: .\" *
! 14: .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
! 15: .\" * copies of the Software, and permit persons to whom the Software is
! 16: .\" * furnished to do so, under the terms of the COPYING file.
! 17: .\" *
! 18: .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
! 19: .\" * KIND, either express or implied.
! 20: .\" *
! 21: .\" **************************************************************************
! 22: .TH curl_getdate 3 "January 18, 2018" "libcurl 7.70.0" "libcurl Manual"
! 23:
! 24: .SH NAME
! 25: curl_getdate - Convert a date string to number of seconds
! 26: .SH SYNOPSIS
! 27: .B #include <curl/curl.h>
! 28: .sp
! 29: .BI "time_t curl_getdate(char *" datestring ", time_t *"now " );"
! 30: .ad
! 31: .SH DESCRIPTION
! 32: \fIcurl_getdate(3)\fP returns the number of seconds since the Epoch, January
! 33: 1st 1970 00:00:00 in the UTC time zone, for the date and time that the
! 34: \fIdatestring\fP parameter specifies. The \fInow\fP parameter is not used,
! 35: pass a NULL there.
! 36: .SH PARSING DATES AND TIMES
! 37: A "date" is a string containing several items separated by whitespace. The
! 38: order of the items is immaterial. A date string may contain many flavors of
! 39: items:
! 40: .TP 0.8i
! 41: .B calendar date items
! 42: Can be specified several ways. Month names can only be three-letter english
! 43: abbreviations, numbers can be zero-prefixed and the year may use 2 or 4 digits.
! 44: Examples: 06 Nov 1994, 06-Nov-94 and Nov-94 6.
! 45: .TP
! 46: .B time of the day items
! 47: This string specifies the time on a given day. You must specify it with 6
! 48: digits with two colons: HH:MM:SS. To not include the time in a date string,
! 49: will make the function assume 00:00:00. Example: 18:19:21.
! 50: .TP
! 51: .B time zone items
! 52: Specifies international time zone. There are a few acronyms supported, but in
! 53: general you should instead use the specific relative time compared to
! 54: UTC. Supported formats include: -1200, MST, +0100.
! 55: .TP
! 56: .B day of the week items
! 57: Specifies a day of the week. Days of the week may be spelled out in full
! 58: (using english): `Sunday', `Monday', etc or they may be abbreviated to their
! 59: first three letters. This is usually not info that adds anything.
! 60: .TP
! 61: .B pure numbers
! 62: If a decimal number of the form YYYYMMDD appears, then YYYY is read as the
! 63: year, MM as the month number and DD as the day of the month, for the specified
! 64: calendar date.
! 65: .PP
! 66: .SH EXAMPLES
! 67: .nf
! 68: Sun, 06 Nov 1994 08:49:37 GMT
! 69: Sunday, 06-Nov-94 08:49:37 GMT
! 70: Sun Nov 6 08:49:37 1994
! 71: 06 Nov 1994 08:49:37 GMT
! 72: 06-Nov-94 08:49:37 GMT
! 73: Nov 6 08:49:37 1994
! 74: 06 Nov 1994 08:49:37
! 75: 06-Nov-94 08:49:37
! 76: 1994 Nov 6 08:49:37
! 77: GMT 08:49:37 06-Nov-94 Sunday
! 78: 94 6 Nov 08:49:37
! 79: 1994 Nov 6
! 80: 06-Nov-94
! 81: Sun Nov 6 94
! 82: 1994.Nov.6
! 83: Sun/Nov/6/94/GMT
! 84: Sun, 06 Nov 1994 08:49:37 CET
! 85: 06 Nov 1994 08:49:37 EST
! 86: Sun, 12 Sep 2004 15:05:58 -0700
! 87: Sat, 11 Sep 2004 21:32:11 +0200
! 88: 20040912 15:05:58 -0700
! 89: 20040911 +0200
! 90: .fi
! 91: .SH STANDARDS
! 92: This parser was written to handle date formats specified in RFC 822 (including
! 93: the update in RFC 1123) using time zone name or time zone delta and RFC 850
! 94: (obsoleted by RFC 1036) and ANSI C's asctime() format. These formats are the
! 95: only ones RFC 7231 says HTTP applications may use.
! 96: .SH RETURN VALUE
! 97: This function returns -1 when it fails to parse the date string. Otherwise it
! 98: returns the number of seconds as described.
! 99:
! 100: On systems with a signed 32 bit time_t: if the year is larger than 2037 or
! 101: less than 1903, this function will return -1.
! 102:
! 103: On systems with an unsigned 32 bit time_t: if the year is larger than 2106 or
! 104: less than 1970, this function will return -1.
! 105:
! 106: On systems with 64 bit time_t: if the year is less than 1583, this function
! 107: will return -1. (The Gregorian calendar was first introduced 1582 so no "real"
! 108: dates in this way of doing dates existed before then.)
! 109: .SH "SEE ALSO"
! 110: .BR curl_easy_escape "(3), " curl_easy_unescape "(3), "
! 111: .BR CURLOPT_TIMECONDITION "(3), " CURLOPT_TIMEVALUE "(3) "
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>