Loading...
Searching...
No Matches
Date routines
APR Utility Functions
Collaboration diagram for Date routines:

## Macros

#define | APR_DATE_BAD ((apr_time_t)0)

## Functions

int | apr_date_checkmask (const char *data, const char *mask)
apr_time_t | apr_date_parse_http (const char *date)
apr_time_t | apr_date_parse_rfc (const char *date)

## Detailed Description

## Macro Definition Documentation

## APR_DATE_BAD

#define APR_DATE_BAD ((apr_time_t)0)

A bad date.

## Function Documentation

## apr_date_checkmask()

int apr_date_checkmask | ( | const char * | data,
|  | const char * | mask
| ) |  |

Compare a string to a mask

Parameters

  data | The string to compare

  mask

  Mask characters (arbitrary maximum is 256 characters):

        '@' - uppercase letter
        '$' - lowercase letter
        '&' - hex digit
        '#' - digit
        '~' - digit or space
        '*' - swallow remaining characters

Remarks
  The mask tests for an exact match for any other character

Returns
  1 if the string matches, 0 otherwise

## apr_date_parse_http()

apr_time_t apr_date_parse_http | ( | const char * | date | ) |

Parses an HTTP date in one of three standard forms:

        Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
        Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
        Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format

Parameters

  date | The date in one of the three formats above

Returns
  the apr_time_t number of microseconds since 1 Jan 1970 GMT, or 0 if this would be out of range or if the date is invalid.

## apr_date_parse_rfc()

apr_time_t apr_date_parse_rfc | ( | const char * | date | ) |

Parses a string resembling an RFC 822 date. This is meant to be leinent in its parsing of dates. Hence, this will parse a wider range of dates than apr_date_parse_http.

The prominent mailer (or poster, if mailer is unknown) that has been seen in the wild is included for the unknown formats.

        Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
        Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
        Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
        Sun, 6 Nov 1994 08:49:37 GMT   ; RFC 822, updated by RFC 1123
        Sun, 06 Nov 94 08:49:37 GMT    ; RFC 822
        Sun, 6 Nov 94 08:49:37 GMT     ; RFC 822
        Sun, 06 Nov 94 08:49 GMT       ; Unknown [drtr@ast.cam.ac.uk]
        Sun, 6 Nov 94 08:49 GMT        ; Unknown [drtr@ast.cam.ac.uk]
        Sun, 06 Nov 94 8:49:37 GMT     ; Unknown [Elm 70.85]
        Sun, 6 Nov 94 8:49:37 GMT      ; Unknown [Elm 70.85]

Parameters

  date | The date in one of the formats above

Returns
  the apr_time_t number of microseconds since 1 Jan 1970 GMT, or 0 if this would be out of range or if the date is invalid.