From d494bebe7c4ff5088f4a45ac4d97fb7904baa88c Mon Sep 17 00:00:00 2001 From: Arjen Baart Date: Sun, 9 Feb 2020 08:19:58 +0100 Subject: [PATCH] date: add WeekDay() --- TODO | 5 ++++- src/Makefile.am | 2 +- src/date.h | 4 ++++ test/date_attributes.cpp | 3 +++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index b29b42d..42de7cc 100644 --- a/TODO +++ b/TODO @@ -4,6 +4,9 @@ Things to do: - String: test cases for numerical conversion - String: Implement String != regex operator - String: index and rindex methods with String argument +- String: format operator % like in python +- String: split and join +- String: assign fstream objects to read and write a file - date: test parser for invalid dates and syntax errors - date: Parser for stream input @@ -11,4 +14,4 @@ Things to do: - UTC: Convert to and from time_t, struct tm -- Add classes: configuration, amount +- Add classes: xml, configuration, amount diff --git a/src/Makefile.am b/src/Makefile.am index 9988245..fc7abab 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,6 +4,6 @@ libACL_la_SOURCES = string.cpp regex.cpp date.cpp parsedate.c dateyacc.y datelex hour.cpp utc.cpp \ Integer.cpp -libACL_la_LDFLAGS = -version-info 0:2:0 +libACL_la_LDFLAGS = -version-info 2:2:0 include_HEADERS = String.h date.h Integer.h diff --git a/src/date.h b/src/date.h index 7fa59c8..ee5ba12 100644 --- a/src/date.h +++ b/src/date.h @@ -216,6 +216,10 @@ public: int Leap(void); unsigned DaysInMonth(); unsigned YearDay(); + int WeekDay() + { + return julian() % 7 + 1; + } // TODO:YearDay WeekDay WeekNumber DayName // date operator*(double) diff --git a/test/date_attributes.cpp b/test/date_attributes.cpp index 653eb42..5b3c53b 100644 --- a/test/date_attributes.cpp +++ b/test/date_attributes.cpp @@ -31,6 +31,7 @@ int main() std::cout << d0 << " YearDay = " << d0.YearDay() << "\n"; std::cout.flush(); assert(d0.YearDay() == 160); + std::cout << d0 << " WeekDay = " << d0.WeekDay() << "\n"; date d1(9, 6, 2020); std::cout << d1 << " Leap = " << d1.Leap() << "\n"; @@ -59,6 +60,7 @@ int main() date d5(1, 2, 2019); std::cout << d5.MonthName() << " " << d5.Year() << " has " << d5.DaysInMonth() << " days.\n"; assert(d5.DaysInMonth() == 28); + std::cout << d5 << " WeekDay = " << d5.WeekDay() << "\n"; date d6(1, 2, 2020); std::cout << d6.MonthName() << " " << d6.Year() << " has " << d6.DaysInMonth() << " days.\n"; @@ -68,6 +70,7 @@ int main() std::cout.flush(); assert(d6.YearDay() == 32); + std::cout << d6 << " WeekDay = " << d6.WeekDay() << "\n"; return 0; } -- 2.11.0