ESPHome 2026.3.0-dev
Loading...
Searching...
No Matches
posix_tz.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  esphome
 Providing packet encoding functions for exchanging data with a remote host.
 
namespace  esphome::time
 
namespace  esphome::time::internal
 

Functions

void esphome::time::set_global_tz (const ParsedTimezone &tz)
 Set the global timezone used by epoch_to_local_tm() when called without a timezone.
 
const ParsedTimezoneesphome::time::get_global_tz ()
 Get the global timezone.
 
bool esphome::time::internal::is_leap_year (int year)
 Check if a year is a leap year.
 
int esphome::time::internal::days_in_month (int year, int month)
 Get the number of days in a month.
 
int esphome::time::internal::__attribute__ ((noinline)) day_of_week(int year
 
 esphome::time::internal::return ((h+6) % 7)
 
 esphome::time::internal::if (remaining_secs< 0)
 
 esphome::time::internal::while (days >=(dim=days_in_month(year, month)))
 
bool esphome::time::internal::skip_tz_name (const char *&p)
 Skip a timezone name (letters or <...> quoted format)
 
 esphome::time::internal::while (out_month<=12)
 
bool esphome::time::internal::parse_dst_rule (const char *&p, DSTRule &rule)
 Parse a DST rule in format Mm.w.d[/time], Jn[/time], or n[/time].
 
 esphome::time::internal::for (int m=1;m< month;m++)
 
 esphome::time::internal::switch (rule.type)
 
 esphome::time::if (dst_start< dst_end)
 
bool esphome::time::parse_posix_tz (const char *tz_string, ParsedTimezone &result)
 Parse a POSIX TZ string into a ParsedTimezone struct.
 
bool esphome::time::epoch_to_local_tm (time_t utc_epoch, const ParsedTimezone &tz, struct tm *out_tm)
 Convert a UTC epoch to local time using the parsed timezone.
 
struct tm * localtime_r (const time_t *timer, struct tm *result)
 
struct tm * localtime (const time_t *timer)
 

Variables

int int esphome::time::internal::month = 1
 
int int int esphome::time::internal::day
 
int esphome::time::internal::j = year / 100
 
int esphome::time::internal::h = (day + (13 * (month + 1)) / 5 + k + k / 4 + j / 4 - 2 * j) % 7
 
void struct tm * esphome::time::internal::out_tm
 
int32_t esphome::time::internal::remaining_secs = epoch % 86400
 
out_tm esphome::time::internal::tm_sec = remaining_secs % 60
 
out_tm esphome::time::internal::tm_min = remaining_secs % 60
 
out_tm esphome::time::internal::tm_hour = remaining_secs / 60
 
out_tm esphome::time::internal::tm_wday = static_cast<int>((days + 4) % 7)
 
int esphome::time::internal::year = days_to_year(days)
 
out_tm esphome::time::internal::tm_year = year - 1900
 
out_tm esphome::time::internal::tm_yday = static_cast<int>(days)
 
int esphome::time::internal::dim
 
out_tm esphome::time::internal::tm_mon = month - 1
 
out_tm esphome::time::internal::tm_mday = static_cast<int>(days) + 1
 
out_tm esphome::time::internal::tm_isdst = 0
 
void int & esphome::time::internal::out_month = 1
 
void int int & esphome::time::internal::out_day
 
return esphome::time::internal::days = days_to_year_start(year) + days_from_year_start(year, month, day)
 
time_t const DSTRuleesphome::time::internal::rule
 
time_t const DSTRule int32_t esphome::time::internal::base_offset_seconds
 
bool const ParsedTimezoneesphome::time::tz
 
time_t esphome::time::dst_start = internal::calculate_dst_transition(year, tz.dst_start, tz.std_offset_seconds)
 
time_t esphome::time::dst_end = internal::calculate_dst_transition(year, tz.dst_end, tz.dst_offset_seconds)
 
 esphome::time::else
 
ESPTime esphome::time::__attribute__ ((noinline)) RealTimeClock
 

Function Documentation

◆ localtime()

struct tm * localtime ( const time_t * timer)

Definition at line 481 of file posix_tz.cpp.

◆ localtime_r()

struct tm * localtime_r ( const time_t * timer,
struct tm * result )

Definition at line 472 of file posix_tz.cpp.