Clk_TS_UnixToDateTime

Clk_TS_UnixToDateTime

Convert Unix timestamp to a date/time structure.

Files

clk.h/clk.c

Prototype

CPU_BOOLEAN Clk_TS_UnixToDateTime (CLK_TS_SEC ts_unix_sec, CLK_TZ_SEC tz_sec, CLK_DATE_TIME *p_date_time);

Arguments

ts_unix_sec

Timestamp to convert (in seconds, UTC+00).

tz_sec

Time zone offset (in seconds, ± from UTC).

p_date_time

Pointer to variable that will receive the date/time structure.

Returned Values

DEF_OK, if date/time structure successfully returned.

DEF_FAIL, otherwise.

Required Configuration

Available only if CLK_CFG_UNIX_EN is DEF_ENABLED in clk_cfg.h (see Module Configuration).

Notes / Warnings

Timestamp (ts_unix_sec) must be set for UTC+00 and should not include the time zone offset (tz_sec) since Clk_TS_UnixToDateTime() includes the time zone offset in its date/time calculation. Thus the time zone offset should not be applied before or after calling Clk_TS_UnixToDateTime(). Time zone field of the date/time structure (p_date_time->TZ_sec) is set to the value of the time zone argument (tz_sec).

Example Usage

Listing - Clk_TS_UnixToDateTime() Example Usage
CLK_DATE_TIME date_time; CLK_TS_SEC ts_unix_sec; CLK_TZ_SEC tz_sec; CPU_BOOLEAN valid; ts_unix_sec = 1000000; tz_sec = -5 * 3600; valid = Clk_TS_UnixToDateTime(ts_unix_sec, tz_sec, &date_time); if (valid == DEF_OK) { printf("Timestamp successfully converted\n\r"); } else { printf("Timestamp conversion error\n\r"); }