ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/zoe/trunk/Stamp.cpp
(Generate patch)

Comparing trunk/Stamp.cpp (file contents):
Revision 21 by douglas, 2004-07-16T23:37:41-07:00 vs.
Revision 37 by douglas, 2004-07-22T16:00:52-07:00

# Line 6 | Line 6
6  
7   #include "Stamp.hpp"
8  
9 < Stamp::Stamp(int day, int month, int year, int hour, int minute, int second)
9 > Stamp::Stamp(const ext::String& when)
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;
11 >        strptime(when.NullTerminate(), "%F %T", &stamp);
12  
13 <        timegm(&stamp);
13 >        this->when = timegm(&stamp);
14   }
15  
16 < Stamp::Stamp(const ext::String& when)
16 > ext::String Stamp::get822() const
17   {
18 <        ::strptime(when.NullTerminate(), "%a, %d %b %Y %k:%M:%S %Z", &stamp);
18 >        char when[30];
19 >
20 >        std::strftime(when, 30, "%a, %d %b %Y %T GMT", &stamp);
21 >
22 >        return when;
23   }
24  
25 < Stamp::operator ext::String()
25 > ext::String Stamp::getW3() const
26   {
27 <        char when[30];
27 >        char when[21];
28  
29 <        std::strftime(when, 30, "%a, %d %b %Y %k:%M:%S GMT", &stamp);
29 >        std::strftime(when, 21, "%FT%TZ", &stamp);
30  
31          return when;
32   }
33  
34 < Stamp Stamp::operator+(Stamp stamp)
34 > void Stamp::setSeconds(int seconds)
35   {
36 <        return timegm(&this->stamp) + timegm(&stamp.stamp);
36 >        stamp.tm_sec = seconds;
37 >        when = timegm(&stamp);
38   }
39  
40 < Stamp Stamp::operator-(Stamp stamp)
40 > void Stamp::setMinutes(int minutes)
41   {
42 <        return std::time_t(difftime(timegm(&this->stamp), timegm(&stamp.stamp)));
42 >        stamp.tm_min = minutes;
43 >        when = timegm(&stamp);
44 > }
45 >
46 > Stamp::operator ext::String() const
47 > {
48 >        char when[20];
49 >
50 >        std::strftime(when, 20, "%F %T", &stamp);
51 >
52 >        return when;
53   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines