diff options
| author | Vincent Richard <[email protected]> | 2005-01-02 22:37:53 +0100 |
|---|---|---|
| committer | Vincent Richard <[email protected]> | 2005-01-02 22:37:53 +0100 |
| commit | 29035ed41e4bd6213c453faa86917ae81d09dff1 (patch) | |
| tree | dd53819b1be7cad585437c69de60653752450b6a /src/utility | |
| parent | Fixed compilation warnings in 'headerTest'. (diff) | |
| download | vmime-29035ed41e4bd6213c453faa86917ae81d09dff1.tar.gz vmime-29035ed41e4bd6213c453faa86917ae81d09dff1.zip | |
Moved 'datetime::getDayOfWeek()' to 'datetimeUtils'.
Diffstat (limited to 'src/utility')
| -rw-r--r-- | src/utility/datetimeUtils.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
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 |
