author | mickeyl <mickeyl> | 2004-02-24 12:46:23 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-02-24 12:46:23 (UTC) |
commit | 911473db35a9fce5f3589f03c27210456faaba86 (patch) (unidiff) | |
tree | 7d55b6117b24de6ab18747b00a4641d38001c0ed /libopie2/opiepim/core/opimtimezone.h | |
parent | a2ead23c3614fe581261455cb4c3f31cee2098f3 (diff) | |
download | opie-911473db35a9fce5f3589f03c27210456faaba86.zip opie-911473db35a9fce5f3589f03c27210456faaba86.tar.gz opie-911473db35a9fce5f3589f03c27210456faaba86.tar.bz2 |
*phew* here is the class and file rename patch. not converted yet: backend,
but that will be not visible to application classes so we can change it later.
Diffstat (limited to 'libopie2/opiepim/core/opimtimezone.h') (more/less context) (show whitespace changes)
-rw-r--r-- | libopie2/opiepim/core/opimtimezone.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/libopie2/opiepim/core/opimtimezone.h b/libopie2/opiepim/core/opimtimezone.h new file mode 100644 index 0000000..284e80f --- a/dev/null +++ b/libopie2/opiepim/core/opimtimezone.h | |||
@@ -0,0 +1,107 @@ | |||
1 | /* | ||
2 | This file is part of the Opie Project | ||
3 | Copyright (C) The Main Author <main-author@whereever.org> | ||
4 | =. Copyright (C) The Opie Team <opie-devel@handhelds.org> | ||
5 | .=l. | ||
6 | .>+-= | ||
7 | _;:, .> :=|. This program is free software; you can | ||
8 | .> <`_, > . <= redistribute it and/or modify it under | ||
9 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | ||
10 | .="- .-=="i, .._ License as published by the Free Software | ||
11 | - . .-<_> .<> Foundation; either version 2 of the License, | ||
12 | ._= =} : or (at your option) any later version. | ||
13 | .%`+i> _;_. | ||
14 | .i_,=:_. -<s. This program is distributed in the hope that | ||
15 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | ||
16 | : .. .:, . . . without even the implied warranty of | ||
17 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | ||
18 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | ||
19 | ..}^=.= = ; Library General Public License for more | ||
20 | ++= -. .` .: details. | ||
21 | : = ...= . :.=- | ||
22 | -. .:....=;==+<; You should have received a copy of the GNU | ||
23 | -_. . . )=. = Library General Public License along with | ||
24 | -- :-=` this library; see the file COPYING.LIB. | ||
25 | If not, write to the Free Software Foundation, | ||
26 | Inc., 59 Temple Place - Suite 330, | ||
27 | Boston, MA 02111-1307, USA. | ||
28 | */ | ||
29 | |||
30 | #ifndef OTIMEZONE_H | ||
31 | #define OTIMEZONE_H | ||
32 | |||
33 | /* QT */ | ||
34 | #include <qdatetime.h> | ||
35 | |||
36 | /* STD */ | ||
37 | #include <time.h> | ||
38 | |||
39 | namespace Opie | ||
40 | { | ||
41 | /** | ||
42 | * A very primitive class to convert time | ||
43 | * from one timezone to another | ||
44 | * and to localtime | ||
45 | * and time_t | ||
46 | */ | ||
47 | class OPimTimeZone { | ||
48 | |||
49 | public: | ||
50 | typedef QString ZoneName; | ||
51 | OPimTimeZone( const ZoneName& = ZoneName::null ); | ||
52 | virtual ~OPimTimeZone(); // just in case. | ||
53 | |||
54 | bool isValid()const; | ||
55 | |||
56 | /** | ||
57 | * converts the QDateTime to a DateTime | ||
58 | * in the local timezone | ||
59 | * if QDateTime is 25th Jan and takes place in Europe/Berlin at 12h | ||
60 | * and the current timezone is Europe/London the returned | ||
61 | * time will be 11h. | ||
62 | */ | ||
63 | QDateTime toLocalDateTime( const QDateTime& dt ); | ||
64 | |||
65 | /** | ||
66 | * converts the QDateTime to UTC time | ||
67 | */ | ||
68 | QDateTime toUTCDateTime( const QDateTime& dt ); | ||
69 | |||
70 | /** | ||
71 | * reads the time_t into a QDateTime using UTC as timezone! | ||
72 | */ | ||
73 | QDateTime fromUTCDateTime( time_t ); | ||
74 | |||
75 | /** | ||
76 | * converts the time_t to the time in the timezone | ||
77 | */ | ||
78 | QDateTime toDateTime( time_t ); | ||
79 | |||
80 | /** | ||
81 | * converts the QDateTime from one timezone to this timeZone | ||
82 | */ | ||
83 | QDateTime toDateTime( const QDateTime&, const OPimTimeZone& timeZone ); | ||
84 | |||
85 | /** | ||
86 | * converts the date time into a time_t. It takes the timezone into account | ||
87 | */ | ||
88 | time_t fromDateTime( const QDateTime& ); | ||
89 | |||
90 | /** | ||
91 | * converts the datetime with timezone UTC | ||
92 | */ | ||
93 | time_t fromUTCDateTime( const QDateTime& ); | ||
94 | |||
95 | static OPimTimeZone current(); | ||
96 | static OPimTimeZone utc(); | ||
97 | |||
98 | QString timeZone() const; | ||
99 | |||
100 | private: | ||
101 | ZoneName m_name; | ||
102 | class Private; | ||
103 | Private* d; | ||
104 | }; | ||
105 | }; | ||
106 | |||
107 | #endif | ||