6 |
|
|
7 |
|
#include "Stamp.hpp" |
8 |
|
|
9 |
– |
Stamp::Stamp(int day, int month, int year, int hour, int minute, int second) |
10 |
– |
{ |
11 |
– |
stamp.tm_mday = day; |
12 |
– |
stamp.tm_mon = month; |
13 |
– |
stamp.tm_year = year; |
14 |
– |
stamp.tm_hour = hour; |
15 |
– |
stamp.tm_min = minute; |
16 |
– |
stamp.tm_sec = second; |
17 |
– |
|
18 |
– |
timegm(&stamp); |
19 |
– |
} |
20 |
– |
|
9 |
|
Stamp::Stamp(const ext::String& when) |
10 |
|
{ |
11 |
< |
strptime(when.NullTerminate(), "%a, %d %b %Y %T %Z", &stamp); |
11 |
> |
strptime(when.NullTerminate(), "%F %T", &stamp); |
12 |
> |
timegm(&stamp); |
13 |
|
} |
14 |
|
|
15 |
|
Stamp::operator ext::String() const |
21 |
|
return when; |
22 |
|
} |
23 |
|
|
24 |
< |
Stamp Stamp::operator+(Stamp stamp) |
24 |
> |
Stamp Stamp::operator+(int days) const |
25 |
|
{ |
26 |
< |
return timegm(&this->stamp) + timegm(&stamp.stamp); |
38 |
< |
} |
26 |
> |
std::tm sum(stamp); |
27 |
|
|
28 |
< |
Stamp Stamp::operator-(Stamp stamp) |
29 |
< |
{ |
30 |
< |
return std::time_t(difftime(timegm(&this->stamp), timegm(&stamp.stamp))); |
28 |
> |
sum.tm_mday += days; |
29 |
> |
|
30 |
> |
return timegm(&sum); |
31 |
|
} |