diff --git a/clock.cpp b/clock.cpp index ab772a6..e98857a 100644 --- a/clock.cpp +++ b/clock.cpp @@ -6,6 +6,7 @@ #include #include #include +#include "string_builder.h" Clock::Clock(ClockSettings const& settings): m_settings(settings), @@ -26,6 +27,39 @@ void Clock::internet_update() tz_update(); } +char* Clock::print_time_UTC(time_t t) const +{ + StringBuilder ret; + ret.append_number(year(t)); + ret.append('-'); + ret.append_number(month(t)); + ret.append('-'); + ret.append_number(day(t)); + ret.append(' '); + ret.append_number(hour(t)); + ret.append(':'); + ret.append_number(minute(t)); + ret.append(':'); + ret.append_number(second(t)); + + return ret.to_string(); +} + +char* Clock::print_time_UTC() const +{ + return this->print_time_UTC(now()); +} + +char* Clock::print_time_local(time_t t) const +{ + return print_time_UTC(t + m_TZ_offset); +} + +char* Clock::print_time_local() const +{ + return this->print_time_local(now()); +} + void Clock::ntp_update() { bool need_to_ask = false; diff --git a/clock.h b/clock.h index f819580..13a896e 100644 --- a/clock.h +++ b/clock.h @@ -16,6 +16,11 @@ class Clock void internet_update(); + char* print_time_UTC(time_t t) const; + char* print_time_UTC() const; + char* print_time_local(time_t t) const; + char* print_time_local() const; + protected: void ntp_update(); void ntp_ask();