Skip to content

Wall Time

Functions, data structures and other things related to wall clock time.

This module contains utilities to get the current time and create strings with formatted dates and times.

Functions

void clock_copy_time_string(char *buffer, uint8_t size)

Copies a time string into the buffer, formatted according to the user's time display preferences (such as 12h/24h time). Example results: "7:30" or "15:00".

Parameters
  • buffer: A pointer to the buffer to copy the time string into
  • size: The maximum size of buffer

bool clock_is_24h_style(void)

Gets the user's 12/24h clock style preference.

Returns

true if the user prefers 24h-style time display or false if the user prefers 12h-style time display.

time_t clock_to_timestamp(WeekDay day, int hour, int minute)

Converts a (day, hour, minute) specification to a UTC timestamp occurring in the future Always returns a timestamp for the next occurring instance, example: specifying TODAY@14:30 when it is 14:40 will return a timestamp for 7 days from now at 14:30.

Parameters
  • day: WeekDay day of week including support for specifying TODAY
  • hour: hour specified in 24-hour format [0-23]
  • minute: minute [0-59]

bool clock_is_timezone_set(void)

Checks if timezone is currently set, otherwise gmtime == localtime.

Returns

true if timezone has been set, false otherwise

void clock_get_timezone(char *timezone, const size_t buffer_size)

If timezone is set, copies the current timezone long name (e.g. America/Chicago) to user-provided buffer.

Parameters
  • timezone: A pointer to the buffer to copy the timezone long name into
  • buffer_size: Size of the allocated buffer to copy the timezone long name into

Enums

WeekDay

Weekday values.

Values
  • TODAY: Today.
  • SUNDAY: Sunday.
  • MONDAY: Monday.
  • TUESDAY: Tuesday.
  • WEDNESDAY: Wednesday.
  • THURSDAY: Thursday.
  • FRIDAY: Friday.
  • SATURDAY: Saturday.

WeekDay

Weekday values.

Values
  • TODAY: Today.
  • SUNDAY: Sunday.
  • MONDAY: Monday.
  • TUESDAY: Tuesday.
  • WEDNESDAY: Wednesday.
  • THURSDAY: Thursday.
  • FRIDAY: Friday.
  • SATURDAY: Saturday.