diff --git a/Userland/Libraries/LibCore/DateTime.cpp b/Userland/Libraries/LibCore/DateTime.cpp index 14d3f86f9a..4f4cd1c389 100644 --- a/Userland/Libraries/LibCore/DateTime.cpp +++ b/Userland/Libraries/LibCore/DateTime.cpp @@ -90,6 +90,11 @@ void DateTime::set_time(int year, int month, int day, int hour, int minute, int m_second = tm.tm_sec; } +void DateTime::set_time_only(int hour, int minute, Optional second) +{ + set_time(year(), month(), day(), hour, minute, second.has_value() ? second.release_value() : this->second()); +} + ErrorOr DateTime::to_string(StringView format) const { struct tm tm; diff --git a/Userland/Libraries/LibCore/DateTime.h b/Userland/Libraries/LibCore/DateTime.h index 724d8430af..bee7cc1b43 100644 --- a/Userland/Libraries/LibCore/DateTime.h +++ b/Userland/Libraries/LibCore/DateTime.h @@ -31,6 +31,7 @@ public: bool is_leap_year() const; void set_time(int year, int month = 1, int day = 1, int hour = 0, int minute = 0, int second = 0); + void set_time_only(int hour, int minute, Optional second = {}); ErrorOr to_string(StringView format = "%Y-%m-%d %H:%M:%S"sv) const; ByteString to_byte_string(StringView format = "%Y-%m-%d %H:%M:%S"sv) const;