Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions
afw_time.c File Reference

Adaptive Framework Time Support. More...

#include "afw_internal.h"

Go to the source code of this file.

Macros

#define IMPL_IS_DIGIT(n)   ((n) >= '0' && (n) <= '9')
 
#define IMPL_SAFE_DIGIT(c, to, error)
 
#define IMPL_MAX_TIME_ZONE_LEN   sizeof("-01:00") - 1
 
#define IMPL_MAX_DATE_SEPARATE_LEN   sizeof("-2147483648-01-01") - 1
 
#define IMPL_MAX_DATE_LEN   IMPL_MAX_DATE_SEPARATE_LEN + IMPL_MAX_TIME_ZONE_LEN
 
#define IMPL_MAX_TIME_SEPARATE_LEN   sizeof("12:34:56.000000") - 1
 
#define IMPL_MAX_TIME_LEN   IMPL_MAX_TIME_SEPARATE_LEN + IMPL_MAX_TIME_ZONE_LEN
 
#define IMPL_MAX_DATE_TIME_LEN
 

Functions

void impl_dateTime_tm_set (afw_dateTime_t *dateTime, apr_time_exp_t *tm, afw_xctx_t *xctx)
 
void impl_time_tm_set (afw_time_t *time, apr_time_exp_t *tm, afw_xctx_t *xctx)
 
void impl_set_date_no_time_zone (afw_date_no_time_zone_t *date, int year, int month, int day, afw_xctx_t *xctx)
 
void impl_set_time_no_time_zone (afw_time_no_time_zone_t *time, int hour, int minute, int second, int microsecond, afw_xctx_t *xctx)
 
void impl_set_time_zone (afw_time_zone_t *time_zone, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
 
 afw_date_set_from_parts (afw_date_t *date, int year, int month, int day, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
 Set afw_date_t from parts. More...
 
 afw_date_create_from_parts (int year, int month, int day, int tz_hours_offset, int tz_minutes_offset, const afw_pool_t *p, afw_xctx_t *xctx)
 Create afw_date_t from parts in specific pool. More...
 
 afw_dateTime_set_from_parts (afw_dateTime_t *dateTime, int year, int month, int day, int hour, int minute, int second, int microsecond, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
 Set afw_dateTime_t from parts. More...
 
 afw_dateTime_create_from_parts (int year, int month, int day, int hour, int minute, int second, int microsecond, int tz_hours_offset, int tz_minutes_offset, const afw_pool_t *p, afw_xctx_t *xctx)
 Create afw_dateTime_t from parts in specific pool. More...
 
void afw_dateTime_set_from_apr_time (afw_dateTime_t *dateTime, apr_time_t apr_time, afw_xctx_t *xctx)
 Set afw_dateTime_t from apr_time. More...
 
const afw_dateTime_tafw_dateTime_create_from_apr_time (apr_time_t apr_time, const afw_pool_t *p, afw_xctx_t *xctx)
 Create afw_dateTime_t from apr time. More...
 
 afw_dayTimeDuration_set_from_parts (afw_dayTimeDuration_t *dayTimeDuration, afw_boolean_t is_positive, int days, int hours, int minutes, int seconds, int microseconds, afw_xctx_t *xctx)
 Set afw_dayTimeDuration_t from parts. More...
 
 afw_dayTimeDuration_create_from_parts (afw_boolean_t is_positive, afw_int32_t days, afw_int32_t hours, afw_int32_t minutes, afw_int32_t seconds, afw_int32_t microseconds, const afw_pool_t *p, afw_xctx_t *xctx)
 Create afw_dayTimeDuration_t from parts in specific pool. More...
 
 afw_time_set_from_parts (afw_time_t *time, int hour, int minute, int second, int microsecond, int tz_hours_offset, int tz_minutes_offset, afw_xctx_t *xctx)
 Set afw_time_t from parts. More...
 
 afw_time_create_from_parts (int hour, int minute, int second, int microsecond, int tz_hours_offset, int tz_minutes_offset, const afw_pool_t *p, afw_xctx_t *xctx)
 Create afw_time_t from parts in specific pool. More...
 
 afw_yearMonthDuration_set_from_parts (afw_yearMonthDuration_t *yearMonthDuration, afw_boolean_t is_positive, int years, int months, afw_xctx_t *xctx)
 Set afw_yearMonthDuration_t from parts. More...
 
 afw_yearMonthDuration_create_from_parts (afw_boolean_t is_positive, afw_int32_t years, afw_int32_t months, const afw_pool_t *p, afw_xctx_t *xctx)
 Create afw_yearMonthDuration_t from parts in specific pool. More...
 
 afw_dateTime_set_now (afw_dateTime_t *dateTime_local, afw_dateTime_t *dateTime_utc, afw_xctx_t *xctx)
 Set local and/or utc dateTime to now. More...
 
 afw_time_set_now (afw_time_t *time_local, afw_time_t *time_utc, afw_xctx_t *xctx)
 Set local and/or utc time to now. More...
 
 afw_dateTime_now_utc (const afw_pool_t *p, afw_xctx_t *xctx)
 Get now time as dateTime in specified pool. More...
 
 afw_time_now_utc (const afw_pool_t *p, afw_xctx_t *xctx)
 Get now time as time only in specified pool. More...
 
 afw_time_set_now_local (afw_time_t *time, afw_xctx_t *xctx)
 
 afw_dateTime_now_local (const afw_pool_t *p, afw_xctx_t *xctx)
 Get now local time as dateTime in specified pool. More...
 
 afw_time_now_local (const afw_pool_t *p, afw_xctx_t *xctx)
 Get now local time as time only in specified pool. More...
 
 afw_time_to_microseconds_utc (const afw_time_t *time, afw_xctx_t *xctx)
 Convert time normalize to utc to microseconds. More...
 
 afw_date_internal_to_utf8 (const afw_date_t *date, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert internal date to utf8 xml schema date in specified pool. More...
 
 afw_date_utf8_set_internal (const afw_utf8_t *utf8, afw_date_t *internal, afw_xctx_t *xctx)
 Convert utf8 xml schema date to internal and set. More...
 
 afw_dateTime_internal_to_utf8 (const afw_dateTime_t *dateTime, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert internal dateTime to utf8 xml schema dateTime in specified pool. More...
 
 afw_dateTime_utf8_set_internal (const afw_utf8_t *utf8, afw_dateTime_t *internal, afw_xctx_t *xctx)
 Convert utf8 xml schema dateTime to internal and set. More...
 
 afw_dayTimeDuration_internal_to_utf8 (const afw_dayTimeDuration_t *dayTimeDuration, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert internal dayTimeDuration to utf8 xml schema dayTimeDuration in specified pool. More...
 
 afw_dayTimeDuration_utf8_set_internal (const afw_utf8_t *utf8, afw_dayTimeDuration_t *internal, afw_xctx_t *xctx)
 Convert utf8 xml schema dayTimeDuration to internal and set. More...
 
 afw_time_internal_to_utf8 (const afw_time_t *time, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert internal time to utf8 xml schema time in specified pool. More...
 
 afw_time_utf8_set_internal (const afw_utf8_t *utf8, afw_time_t *internal, afw_xctx_t *xctx)
 Convert utf8 xml schema dateTime to internal and set. More...
 
 afw_yearMonthDuration_internal_to_utf8 (const afw_yearMonthDuration_t *yearMonthDuration, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert internal yearMonthDuration to utf8 xml schema yearMonthDuration in specified pool. More...
 
 afw_yearMonthDuration_utf8_set_internal (const afw_utf8_t *utf8, afw_yearMonthDuration_t *internal, afw_xctx_t *xctx)
 Convert utf8 xml schema yearMonthDuration to internal and set. More...
 
 afw_date_compare (const afw_date_t *v1, const afw_date_t *v2, afw_xctx_t *xctx)
 compare two date values. More...
 
 afw_dateTime_compare (const afw_dateTime_t *v1, const afw_dateTime_t *v2, afw_xctx_t *xctx)
 compare two dateTime values. More...
 
 afw_time_compare (const afw_time_t *v1, const afw_time_t *v2, afw_xctx_t *xctx)
 compare two time values. More...
 
afw_integer_t impl_fQuotient2 (afw_integer_t a, unsigned int b)
 
afw_integer_t impl_modulo2 (afw_integer_t a, unsigned int b)
 
afw_integer_t impl_fQuotient3 (afw_integer_t a, int low, int high)
 
afw_integer_t impl_modulo3 (afw_integer_t a, int low, int high)
 
 afw_date_maximum_days_in_month (afw_integer_t year, afw_integer_t month)
 Determine maximum days in a month. More...
 
 afw_dayTimeDuration_compare (const afw_dayTimeDuration_t *v1, const afw_dayTimeDuration_t *v2, afw_xctx_t *xctx)
 compare two dateTime values. More...
 
 afw_yearMonthDuration_compare (const afw_yearMonthDuration_t *v1, const afw_yearMonthDuration_t *v2, afw_xctx_t *xctx)
 compare two yearMonthDuration values. More...
 
 afw_date_add_yearMonthDuration (afw_date_t *date, const afw_yearMonthDuration_t *yearMonthDuration, afw_xctx_t *xctx)
 Add yearMonthDuration to date. More...
 
 afw_date_subtract_yearMonthDuration (afw_date_t *date, const afw_yearMonthDuration_t *yearMonthDuration, afw_xctx_t *xctx)
 Subtract yearMonthDuration from date. More...
 
 afw_dateTime_add_dayTimeDuration (afw_dateTime_t *dateTime, const afw_dayTimeDuration_t *dayTimeDuration, afw_xctx_t *xctx)
 Add dayTimeDuration to dateTime. More...
 
 afw_dateTime_subtract_dayTimeDuration (afw_dateTime_t *dateTime, const afw_dayTimeDuration_t *dayTimeDuration, afw_xctx_t *xctx)
 Subtract dayTimeDuration from dateTime. More...
 
 afw_dateTime_add_yearMonthDuration (afw_dateTime_t *dateTime, const afw_yearMonthDuration_t *yearMonthDuration, afw_xctx_t *xctx)
 Add yearMonthDuration to dateTime. More...
 
 afw_dateTime_subtract_yearMonthDuration (afw_dateTime_t *dateTime, const afw_yearMonthDuration_t *yearMonthDuration, afw_xctx_t *xctx)
 Subtract yearMonthDuration from dateTime. More...
 
 afw_dateType_internal_to_generalized_time (const afw_dateTime_t *dateTime, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert internal dateTime to generalized time (see X.208) in specified pool. More...
 
 afw_dataType_generalized_time_set_internal (const afw_utf8_t *generalized_time, afw_dateTime_t *internal, afw_xctx_t *xctx)
 Convert generalized time (see X.208) to internal and set. More...
 

Detailed Description

Adaptive Framework Time Support.

Definition in file afw_time.c.

Macro Definition Documentation

◆ IMPL_MAX_DATE_TIME_LEN

#define IMPL_MAX_DATE_TIME_LEN
Value:
IMPL_MAX_DATE_SEPARATE_LEN + 1 + \
IMPL_MAX_TIME_SEPARATE_LEN + \
IMPL_MAX_TIME_ZONE_LEN

Definition at line 34 of file afw_time.c.

◆ IMPL_SAFE_DIGIT

#define IMPL_SAFE_DIGIT (   c,
  to,
  error 
)
Value:
do { \
to = c - '0'; \
if (to < 0 || to > 9) goto error; \
} while (0)

Definition at line 18 of file afw_time.c.

Function Documentation

◆ impl_set_date_no_time_zone()

void impl_set_date_no_time_zone ( afw_date_no_time_zone_t date,
int  year,
int  month,
int  day,
afw_xctx_t xctx 
)
Todo:
FIXME: check for leapyear.

Definition at line 80 of file afw_time.c.