X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Ftime%2Fdatetime.cpp;h=d74fc6fbd0be4aef046626224e305830b4450a4e;hp=4fcec9641f4bf23a2ac25c4c17c5f23c24bd7bd9;hb=521cf1db00f8ce2d9f9494dca503d6c17d89ac2f;hpb=80bbee2f401b4af71cb1b80508bdb0d2bb61fa40 diff --git a/source/time/datetime.cpp b/source/time/datetime.cpp index 4fcec96..d74fc6f 100644 --- a/source/time/datetime.cpp +++ b/source/time/datetime.cpp @@ -1,7 +1,7 @@ /* $Id$ */ #include #include -#include +#include "../core/error.h" #include "datetime.h" #include "timestamp.h" @@ -40,9 +40,6 @@ inline int cmp_(T a, T b) } -#include -using namespace std; - namespace Msp { namespace Time { @@ -68,12 +65,32 @@ DateTime::DateTime(int32_t y, uint8_t m, uint8_t d): usec(0) { } +DateTime::DateTime(int32_t y, uint8_t m, uint8_t d, uint8_t h, uint8_t n, uint8_t s): + year(y), + month(m), + mday(d), + hour(h), + minute(n), + second(s), + usec(0) +{ } + +DateTime::DateTime(int32_t y, uint8_t m, uint8_t d, uint8_t h, uint8_t n, uint8_t s, uint32_t u): + year(y), + month(m), + mday(d), + hour(h), + minute(n), + second(s), + usec(u) +{ } + void DateTime::add_days(int32_t days) { unsigned new_year=year; /* Leap years have a 400 year cycle, so any 400 consecutive years have a - constant number of days */ + constant number of days (400*365+97=146097) */ new_year+=days/146097*400; days%=146097;