From 29035ed41e4bd6213c453faa86917ae81d09dff1 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Sun, 2 Jan 2005 21:37:53 +0000 Subject: Moved 'datetime::getDayOfWeek()' to 'datetimeUtils'. --- src/utility/datetimeUtils.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/utility') diff --git a/src/utility/datetimeUtils.cpp b/src/utility/datetimeUtils.cpp index 2c9d6d08..020e69c2 100644 --- a/src/utility/datetimeUtils.cpp +++ b/src/utility/datetimeUtils.cpp @@ -217,5 +217,29 @@ const int datetimeUtils::getDaysInMonth(const int year, const int month) } +const int datetimeUtils::getDayOfWeek(const int year, const int month, const int day) +{ + int y = year; + int m = month; + + // From RFC-3339 - Appendix B. Day of the Week + + // Adjust months so February is the last one + m -= 2; + + if (m < 1) + { + m += 12; + --y; + } + + // Split by century + const int cent = y / 100; + y %= 100; + + return (((26 * m - 2) / 10 + day + y + (y >> 2) + (cent >> 2) + 5 * cent) % 7); +} + + } // utility } // vmime -- cgit