#include <stdint.h>
#include "xroad_time.h"
#include "xroad_date.h"
#include "xroad_tzone.h"
Go to the source code of this file.
|
xroad_datetime_t | xroad_datetime_create (uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t min, uint8_t sec, uint32_t usec, xroad_tzone_t tz) |
|
bool | xroad_datetime_is_null (xroad_datetime_t dt) |
|
xroad_timestamp_t | xroad_datetime_to_ts (xroad_datetime_t dt) |
|
xroad_datetime_t | xroad_datetime_from_ts (xroad_timestamp_t ts, xroad_tzone_t tz) |
|
xroad_datetime_t | xroad_datetime_now (xroad_tzone_t tz) |
|
int64_t | xroad_datetime_cmp (xroad_datetime_t lhs, xroad_datetime_t rhs) |
|
xroad_datetime_t | xroad_datetime_from_str (xroad_str_t date) |
|
void | xroad_datetime_set_time (xroad_datetime_t *dt, xroad_time_t time) |
|
void | xroad_datetime_set_date (xroad_datetime_t *dt, xroad_date_t date) |
|
xroad_date_t | xroad_datetime_get_date (xroad_datetime_t dt) |
|
xroad_time_t | xroad_datetime_get_time (xroad_datetime_t dt) |
|
xroad_datetime_t | xroad_datetime_from_parts (xroad_date_t date, xroad_time_t time) |
|
◆ xroad_datetime_to_sql
#define xroad_datetime_to_sql |
( |
|
v | ) |
|
Value:({ \
char* buf = "NULL"; \
uint32_t len = 4; \
xroad_datetime_t dt = (v); \
{ \
buf = alloca(s.len + 2); \
buf[0] = '\''; \
memcpy(buf + 1, s.data, s.len); \
buf[s.len + 1] = '\''; \
len = s.len + 2; \
} \
xroad_str_len(buf, len); \
})
#define xroad_datetime_to_str(dt)
Definition: xroad_datetime.h:73
bool xroad_datetime_is_null(xroad_datetime_t dt)
convert xroad_datetime_t to SQL string representation (NULL, '2020-01-01...')
- Parameters
-
[in] | v | - datetime to convert |
- Returns
- SQL string
◆ xroad_datetime_to_str
#define xroad_datetime_to_str |
( |
|
dt | ) |
|
Value:({ \
char* buff = (char*)alloca(64); \
int32_t s =
xroad_format(buff, 64,
"%04d-%02d-%02d %02d:%02d:%02d", \
dt.year, dt.month, dt.day, dt.hour, dt.min, dt.sec); \
if (dt.usec) \
{ \
} \
if (dt.tz) \
{ \
} \
xroad_str_len(buff, s); \
})
xroad_str_t xroad_tzone_get_name(xroad_tzone_t idx)
convert datetime to string
- Parameters
-
- Returns
- string representation
◆ xroad_datetime_cmp()
compare two datetime values
- Parameters
-
[in] | lhs | - left hand datetime |
[in] | rhs | - right hand datetime |
- Returns
- 0 - lhs == rhs, >0 - lhs > rhs, <0 - lhs < rhs
◆ xroad_datetime_create()
xroad_datetime_t xroad_datetime_create |
( |
uint16_t |
year, |
|
|
uint8_t |
month, |
|
|
uint8_t |
day, |
|
|
uint8_t |
hour, |
|
|
uint8_t |
min, |
|
|
uint8_t |
sec, |
|
|
uint32_t |
usec, |
|
|
xroad_tzone_t |
tz |
|
) |
| |
◆ xroad_datetime_from_parts()
create datetime from date and time
- Parameters
-
[in] | date | - date. if NULL, current date is used @apram[in] time - time |
[out] | dt | - created datetime |
◆ xroad_datetime_from_str()
create datetime from string in format YYYY-MM-DD HH:MM:SS.UUUUUU [TZ]
- Parameters
-
- Returns
- xroad_datetime_t instance
◆ xroad_datetime_from_ts()
xroad_datetime_t xroad_datetime_from_ts |
( |
xroad_timestamp_t |
ts, |
|
|
xroad_tzone_t |
tz |
|
) |
| |
convert timestamp to datetime
- Parameters
-
[in] | ts | - timestamp |
[in] | tz | - timezone (e.g. Europe/Moscow, UTC, etc). if no specified local timezone is used |
[out] | dt | - datetime |
◆ xroad_datetime_get_date()
extract date from datetime
- Parameters
-
- Returns
- date
◆ xroad_datetime_get_time()
◆ xroad_datetime_is_null()
check if datetime is null
- Parameters
-
[in] | dt | - datetime to check |
- Returns
- true if dt is null, else false
◆ xroad_datetime_now()
get now time
- Parameters
-
- Returns
- datetime object
◆ xroad_datetime_set_date()
set datetime date
- Parameters
-
[in] | dt | - datetime |
[in] | date | - date to set |
◆ xroad_datetime_set_time()
set datetime time
- Parameters
-
[in] | dt | - datetime |
[in] | time | - time to set |
◆ xroad_datetime_to_ts()
convert datetime to timestamp (microseconds since EPOC)
- Parameters
-
- Returns
- EPOC microseconds