aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp
diff options
context:
space:
mode:
authorandreyshspb <andreyshspb@yandex-team.com>2024-02-22 17:19:22 +0300
committerandreyshspb <andreyshspb@yandex-team.com>2024-02-22 17:37:09 +0300
commit6e0396cf4cb68ec7095a9b5f9b0f017742dcf870 (patch)
tree8ad05712ac71c39425c6d21a8e40541779967242 /library/cpp
parent70f6cbb7704f080baaa62811b863b131797abf29 (diff)
downloadydb-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.h8
-rw-r--r--library/cpp/timezone_conversion/ut/civil_ut.cpp5
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;