NAME
khttp_date2epoch
,
khttp_datetime2epoch
—
validate and convert date and
time
LIBRARY
library “libkcgi”
SYNOPSIS
#include
<sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>
int
khttp_date2epoch
(int64_t *res,
int64_t day, int64_t mon,
int64_t year, int64_t hour,
int64_t min, int64_t sec);
int
khttp_datetime2epoch
(int64_t
*res, int64_t day, int64_t
mon, int64_t year, int64_t
hour, int64_t min, int64_t
sec);
DESCRIPTION
Convert broken-day date and time values into seconds since
00:00:00 UTC, 1970-01-01. The date and time values are accepted as UTC.
khttp_date2epoch
()
is equivalent to
khttp_datetime2epoch
()
but with zero hour, min, and
sec arguments. If res is
NULL
, simply check the time values for
correctness.
Date correctness means that input values fall within the following acceptable ranges:
sec | seconds 0–59 |
min | minutes 0–59 |
hour | hours 0–23 |
day | day of month 1–31 |
mon | month 1–12 |
year | year -2.9e11–2.9e11 |
The year bound is the maximum year value that may be converted to seconds for a 64-bit integer.
These deprecate
kutil_date2epoch
(),
kutil_date_check
(),
kutil_datetime2epoch
(),
and
kutil_datetime_check
(),
which should no longer be used.
RETURN VALUES
Return zero if the given values do not correspond to a valid date and time, non-zero otherwise.
SEE ALSO
khttp_epoch2datetime(3), khttp_epoch2str(3), khttp_epoch2tms(3)
AUTHORS
Written by Kristaps Dzonsons <kristaps@bsd.lv>.