From d73f93c27fc57b099e7b27c439991e0d9600b3a4 Mon Sep 17 00:00:00 2001 From: PyryL Date: Sun, 11 Dec 2022 10:06:27 +0200 Subject: [PATCH] week of year --- fixedcal/core/date.py | 10 +++++++++- tests/basic_datetime_test.py | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/fixedcal/core/date.py b/fixedcal/core/date.py index f7df0f6..8b0957c 100644 --- a/fixedcal/core/date.py +++ b/fixedcal/core/date.py @@ -70,6 +70,15 @@ class FixedDate: return 1 return ((self.day_of_month-1) // 7) + 1 + @property + def weekday(self) -> int: + """Ordinal of the day in week. Value 1 for year day. + + Returns: + int: 1 for Sunday, 2 for Monday, 7 for Saturday + """ + return ((self.day_of_month-1) % 7) + 1 + @property def week_of_year(self) -> int: """The ordinal of the week in year. Value 53 for year day. @@ -79,7 +88,6 @@ class FixedDate: """ return ((self._day_of_year-1) // 7) + 1 - # TODO: weekday # TODO: year quarter # TODO: datetime instance # TODO: plus and minus operations diff --git a/tests/basic_datetime_test.py b/tests/basic_datetime_test.py index fc51f6a..a3d59a1 100644 --- a/tests/basic_datetime_test.py +++ b/tests/basic_datetime_test.py @@ -10,6 +10,7 @@ class TestBasicDatetimeInit(unittest.TestCase): self.assertEqual(fixed_date.day_of_month, 1) self.assertEqual(fixed_date.day_of_year, 1) self.assertEqual(fixed_date.week_of_month, 1) + self.assertEqual(fixed_date.weekday, 1) self.assertEqual(fixed_date.week_of_year, 1) def test_datetime_init_february_last(self): @@ -19,6 +20,7 @@ class TestBasicDatetimeInit(unittest.TestCase): self.assertEqual(fixed_date.day_of_month, 28) self.assertEqual(fixed_date.day_of_year, 56) self.assertEqual(fixed_date.week_of_month, 4) + self.assertEqual(fixed_date.weekday, 7) self.assertEqual(fixed_date.week_of_year, 8) def test_datetime_init_sol_month(self):