15#include "./win_strptime.h"
27#define XTIME_FMT_ISO8601 "%Y-%m-%dT%H:%M:%S"
28#define XTIME_FMT_RFC3339 "%Y-%m-%dT%H:%M:%S%z"
29#define XTIME_FMT_RFC2822 "%a, %d %b %Y %H:%M:%S"
30#define XTIME_FMT_HTTP "%a, %d %b %Y %H:%M:%S GMT"
31#define XTIME_FMT_UNIX "%s"
32#define XTIME_FMT_DATE "%Y-%m-%d"
33#define XTIME_FMT_TIME "%H:%M:%S"
34#define XTIME_FMT_DATETIME "%Y-%m-%d %H:%M:%S"
39 XTIME_ERR_INVALID_ARG,
40 XTIME_ERR_PARSE_FAILED,
41 XTIME_ERR_DATE_OUT_OF_RANGE,
42 XTIME_ERR_BUFFER_TOO_SMALL,
43 XTIME_ERR_INVALID_TIME,
xtime_error_t xtime_diff_minutes(const xtime_t *t1, const xtime_t *t2, int64_t *minutes)
xtime_error_t xtime_truncate_to_minute(xtime_t *t)
xtime_error_t xtime_from_unix(int64_t timestamp, xtime_t *t)
xtime_error_t xtime_diff(const xtime_t *t1, const xtime_t *t2, double *diff)
xtime_error_t xtime_format_utc(const xtime_t *t, const char *format, char *buf, size_t buflen)
bool xtime_is_leap_year(const xtime_t *t)
xtime_error_t xtime_add_minutes(xtime_t *t, int64_t minutes)
xtime_error_t xtime_end_of_day(const xtime_t *t, xtime_t *result)
xtime_error_t xtime_diff_seconds(const xtime_t *t1, const xtime_t *t2, int64_t *seconds)
xtime_error_t xtime_utc_now(xtime_t *t)
xtime_error_t xtime_parse(const char *str, const char *format, xtime_t *t)
xtime_error_t xtime_add_years(xtime_t *t, int years)
int xtime_compare(const xtime_t *t1, const xtime_t *t2)
xtime_error_t xtime_add_months(xtime_t *t, int months)
const char * xtime_strerror(xtime_error_t err)
xtime_error_t xtime_truncate_to_hour(xtime_t *t)
xtime_error_t xtime_add_milliseconds(xtime_t *t, int64_t millis)
xtime_error_t xtime_end_of_month(const xtime_t *t, xtime_t *result)
xtime_error_t xtime_to_json(const xtime_t *t, char *buf, size_t buflen)
xtime_error_t xtime_add_nanoseconds(xtime_t *t, int64_t nanos)
xtime_error_t xtime_format(const xtime_t *t, const char *format, char *buf, size_t buflen)
xtime_error_t xtime_diff_nanos(const xtime_t *t1, const xtime_t *t2, int64_t *nanos)
xtime_error_t xtime_start_of_month(const xtime_t *t, xtime_t *result)
xtime_error_t xtime_truncate_to_day(xtime_t *t)
xtime_error_t xtime_now(xtime_t *t)
xtime_error_t xtime_diff_days(const xtime_t *t1, const xtime_t *t2, int64_t *days)
xtime_error_t xtime_diff_micros(const xtime_t *t1, const xtime_t *t2, int64_t *micros)
xtime_error_t xtime_init(xtime_t *t)
xtime_error_t xtime_truncate_to_second(xtime_t *t)
xtime_error_t xtime_diff_hours(const xtime_t *t1, const xtime_t *t2, int64_t *hours)
xtime_error_t xtime_add_seconds(xtime_t *t, int64_t seconds)
xtime_error_t xtime_add_days(xtime_t *t, int64_t days)
xtime_error_t xtime_start_of_week(const xtime_t *t, xtime_t *result)
int64_t xtime_to_unix(const xtime_t *t)
xtime_error_t xtime_add_microseconds(xtime_t *t, int64_t micros)
xtime_error_t xtime_diff_millis(const xtime_t *t1, const xtime_t *t2, int64_t *millis)
xtime_error_t xtime_end_of_year(const xtime_t *t, xtime_t *result)
xtime_error_t xtime_add_hours(xtime_t *t, int64_t hours)
xtime_error_t xtime_start_of_year(const xtime_t *t, xtime_t *result)