Pebble Foundation Classes  0.2.0
C++ for Pebble
Wall Time

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

Collaboration diagram for Wall Time:

Macros

#define TIMEZONE_NAME_LENGTH   32
 The maximum length for a timezone full name (e.g. America/Chicago)
 
#define TIMEZONE_NAME_LENGTH   32
 The maximum length for a timezone full name (e.g. America/Chicago)
 

Enumerations

enum  WeekDay {
  TODAY = 0, SUNDAY, MONDAY, TUESDAY,
  WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,
  TODAY = 0, SUNDAY, MONDAY, TUESDAY,
  WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
 Weekday values. More...
 
enum  WeekDay {
  TODAY = 0, SUNDAY, MONDAY, TUESDAY,
  WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,
  TODAY = 0, SUNDAY, MONDAY, TUESDAY,
  WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
 Weekday values. More...
 

Functions

void clock_copy_time_string (char *buffer, uint8_t size)
 
bool clock_is_24h_style (void)
 
time_t clock_to_timestamp (WeekDay day, int hour, int minute)
 
bool clock_is_timezone_set (void)
 
void clock_get_timezone (char *timezone, const size_t buffer_size)
 

Detailed Description

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.

Enumeration Type Documentation

◆ WeekDay [1/2]

enum WeekDay

Weekday values.

Enumerator
TODAY 

Today.

SUNDAY 

Sunday.

MONDAY 

Monday.

TUESDAY 

Tuesday.

WEDNESDAY 

Wednesday.

THURSDAY 

Thursday.

FRIDAY 

Friday.

SATURDAY 

Saturday.

TODAY 

Today.

SUNDAY 

Sunday.

MONDAY 

Monday.

TUESDAY 

Tuesday.

WEDNESDAY 

Wednesday.

THURSDAY 

Thursday.

FRIDAY 

Friday.

SATURDAY 

Saturday.

◆ WeekDay [2/2]

enum WeekDay

Weekday values.

Enumerator
TODAY 

Today.

SUNDAY 

Sunday.

MONDAY 

Monday.

TUESDAY 

Tuesday.

WEDNESDAY 

Wednesday.

THURSDAY 

Thursday.

FRIDAY 

Friday.

SATURDAY 

Saturday.

TODAY 

Today.

SUNDAY 

Sunday.

MONDAY 

Monday.

TUESDAY 

Tuesday.

WEDNESDAY 

Wednesday.

THURSDAY 

Thursday.

FRIDAY 

Friday.

SATURDAY 

Saturday.

Function Documentation

◆ clock_copy_time_string()

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".

Note
AM/PM are also outputted with the time if the user's preference is 12h time.
Parameters
[out]bufferA pointer to the buffer to copy the time string into
sizeThe maximum size of buffer

◆ clock_get_timezone()

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
timezoneA pointer to the buffer to copy the timezone long name into
buffer_sizeSize of the allocated buffer to copy the timezone long name into
Note
timezone buffer should be at least TIMEZONE_NAME_LENGTH bytes

◆ clock_is_24h_style()

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.

◆ clock_is_timezone_set()

bool clock_is_timezone_set ( void  )

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

Returns
true if timezone has been set, false otherwise

◆ clock_to_timestamp()

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

Note
This function does not support Daylight Saving Time (DST) changes, events scheduled during a DST change will be off by an hour.
Parameters
dayWeekDay day of week including support for specifying TODAY
hourhour specified in 24-hour format [0-23]
minuteminute [0-59]