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 24 by douglas, 2004-07-17T13:56:58-07:00 vs.
Revision 46 by douglas, 2004-08-16T18:52:59-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 %T %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 %T GMT", &stamp);
29 >        std::strftime(when, 21, "%FT%TZ", &stamp);
30  
31          return when;
32   }
33  
34 < Stamp Stamp::operator+(Stamp stamp)
34 > ext::String Stamp::get8601() const
35   {
36 <        return timegm(&this->stamp) + timegm(&stamp.stamp);
36 >        char when[11];
37 >
38 >        std::strftime(when, 11, "%Y-%m-%d", &stamp);
39 >
40 >        return when;
41   }
42  
43 < Stamp Stamp::operator-(Stamp stamp)
43 > ext::String Stamp::getDate() const
44   {
45 <        return std::time_t(difftime(timegm(&this->stamp), timegm(&stamp.stamp)));
45 >        char date[11];
46 >
47 >        std::strftime(date, 11, "%m/%d/%Y", &stamp);
48 >
49 >        return date;
50 > }
51 >
52 > ext::String Stamp::getTime() const
53 > {
54 >        char time[12];
55 >
56 >        std::strftime(time, 12, "%I:%M:%S %p", &stamp);
57 >
58 >        return time;
59 > }
60 >
61 > void Stamp::setSeconds(int seconds)
62 > {
63 >        stamp.tm_sec = seconds;
64 >        when = timegm(&stamp);
65 > }
66 >
67 > void Stamp::setMinutes(int minutes)
68 > {
69 >        stamp.tm_min = minutes;
70 >        when = timegm(&stamp);
71 > }
72 >
73 > Stamp::operator ext::String() const
74 > {
75 >        char when[24];
76 >
77 >        std::strftime(when, 24, "%F %T GMT", &stamp);
78 >
79 >        return when;
80   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines