date: add WeekDay()
authorArjen Baart <arjen@andromeda.nl>
Sun, 9 Feb 2020 07:19:58 +0000 (08:19 +0100)
committerArjen Baart <arjen@andromeda.nl>
Sun, 9 Feb 2020 07:19:58 +0000 (08:19 +0100)
TODO
src/Makefile.am
src/date.h
test/date_attributes.cpp

diff --git a/TODO b/TODO
index b29b42d..42de7cc 100644 (file)
--- 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
index 9988245..fc7abab 100644 (file)
@@ -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
index 7fa59c8..ee5ba12 100644 (file)
@@ -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)
index 653eb42..5b3c53b 100644 (file)
@@ -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;
 }