12 #define xroad_date_null (xroad_date_t){0}
103 #define xroad_date_to_str(dt) \
105 char* buff = alloca(11); \
106 int32_t s = xroad_format(buff, 11, "%04d-%02d-%02d", dt.year, dt.month, dt.day); \
107 xroad_str_len(buff, s); \
115 #define xroad_date_to_sql(v) \
117 char* buf = "NULL"; \
119 xroad_date_t dt = (v); \
120 if (!xroad_date_is_null(dt)) \
122 xroad_str_t s = xroad_date_to_str(dt); \
123 buf = alloca(s.len + 2); \
125 memcpy(buf + 1, s.data, s.len); \
126 buf[s.len + 1] = '\''; \
129 xroad_str_len(buf, len); \
Definition: xroad_date.h:20
Definition: xroad_string.h:29
xroad_date_t xroad_date_from_tm(struct tm *tm)
xroad_timestamp_t xroad_date_to_ts(xroad_date_t date)
xroad_date_t xroad_date_create(uint16_t year, uint8_t month, uint8_t day)
uint32_t xroad_date_day_of_year()
int32_t xroad_date_to_int(xroad_date_t date, bool short_year)
xroad_date_t xroad_date_adjust(xroad_date_t dt, int32_t day)
int32_t xroad_date_cmp(xroad_date_t dt1, xroad_date_t dt2)
xroad_date_t xroad_date_max(xroad_date_t dt1, xroad_date_t dt2)
xroad_date_t xroad_date_from_ts(xroad_timestamp_t ts)
xroad_date_t xroad_date_from_int(int32_t date)
xroad_date_t xroad_date_min(xroad_date_t dt1, xroad_date_t dt2)
bool xroad_date_is_null(xroad_date_t data)
xroad_date_t xroad_date_from_str(xroad_str_t date)