diff options
author | andreyshspb <andreyshspb@yandex-team.com> | 2024-02-22 17:19:22 +0300 |
---|---|---|
committer | andreyshspb <andreyshspb@yandex-team.com> | 2024-02-22 17:37:09 +0300 |
commit | 6e0396cf4cb68ec7095a9b5f9b0f017742dcf870 (patch) | |
tree | 8ad05712ac71c39425c6d21a8e40541779967242 /library/cpp | |
parent | 70f6cbb7704f080baaa62811b863b131797abf29 (diff) | |
download | ydb-6e0396cf4cb68ec7095a9b5f9b0f017742dcf870.tar.gz |
Weekday Generation From Civil Second
Weekday Generation From Civil Second
70003fbf387f8f0157cff5f0fa3ab4354871d703
Diffstat (limited to 'library/cpp')
-rw-r--r-- | library/cpp/timezone_conversion/civil.h | 8 | ||||
-rw-r--r-- | library/cpp/timezone_conversion/ut/civil_ut.cpp | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/library/cpp/timezone_conversion/civil.h b/library/cpp/timezone_conversion/civil.h index 5f331b33584..a50e0e7cb24 100644 --- a/library/cpp/timezone_conversion/civil.h +++ b/library/cpp/timezone_conversion/civil.h @@ -233,6 +233,14 @@ namespace NDatetime { return cctz::get_weekday(day); } + /** Returns the weekday by day. + * @param[in] second is a given seconds + * @return a weekday (enum) + */ + CONSTEXPR_M TWeekday GetWeekday(const TCivilSecond& second) noexcept { + return cctz::get_weekday(second); + } + /** Returns the TCivilDay that strictly follows or precedes the given * civil_day, and that falls on the given weekday. * @code diff --git a/library/cpp/timezone_conversion/ut/civil_ut.cpp b/library/cpp/timezone_conversion/ut/civil_ut.cpp index f91935ac499..2c3db3c3b31 100644 --- a/library/cpp/timezone_conversion/ut/civil_ut.cpp +++ b/library/cpp/timezone_conversion/ut/civil_ut.cpp @@ -103,6 +103,11 @@ Y_UNIT_TEST_SUITE(DateTime) { UNIT_ASSERT_VALUES_EQUAL(NDatetime::WeekdayOnTheWeek(d, NDatetime::TWeekday::wednesday), NDatetime::TCivilDay(2013, 1, 2)); UNIT_ASSERT_VALUES_EQUAL(NDatetime::WeekdayOnTheWeek(d, NDatetime::TWeekday::friday), NDatetime::TCivilDay(2013, 1, 4)); } + Y_UNIT_TEST(WeekdayFromCivilSecond) { + NDatetime::TCivilSecond s(2013, 1, 2, 10, 12, 9); + NDatetime::TWeekday wd = NDatetime::GetWeekday(s); + UNIT_ASSERT_VALUES_EQUAL(wd, NDatetime::TWeekday::wednesday); + } Y_UNIT_TEST(CivilUnit) { using namespace NDatetime; |