00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
#include <stdlib.h>
00029
#include <iostream>
00030
00031
#include <qdatetime.h>
00032
#include "konsolekalendarepoch.h"
00033
00034
using namespace KCal;
00035
using namespace std;
00036
00037 KonsoleKalendarEpoch::KonsoleKalendarEpoch( )
00038 {
00039 }
00040
00041 KonsoleKalendarEpoch::~KonsoleKalendarEpoch()
00042 {
00043 }
00044
00045
00046
00047
00048
QDateTime KonsoleKalendarEpoch::epoch2QDateTime( uint epoch )
00049 {
00050
QDateTime dt;
00051 dt.setTime_t (epoch,Qt::UTC);
00052
return (dt);
00053 }
00054
00055
00056 uint KonsoleKalendarEpoch::QDateTime2epoch(
QDateTime dt )
00057 {
00058
00059
00060
00061
00062
int offset = QDateTime::currentDateTime(Qt::UTC).toTime_t()
00063 - QDateTime::currentDateTime(Qt::LocalTime).toTime_t();
00064
return(dt.toTime_t()-offset);
00065 }
00066
00067
#if defined (TEST)
00068
00069
00070
00071 main()
00072 {
00073 uint epoch;
00074
QDateTime dt;
00075
00076 cout << endl;
00077 cout <<
"NOTE: Some tests may be off by 1 hour (3600 secs) "
00078 <<
"due to daylight savings time"
00079 << endl << endl;
00080
00081
00082 epoch=0;
00083 dt = KonsoleKalendarEpoch::epoch2QDateTime(epoch);
00084 cout <<
"TEST 1:" << endl;
00085 cout <<
"epoch="
00086 << epoch
00087 <<
" converts to "
00088 << dt.toString(Qt::TextDate)
00089 << endl;
00090
00091 epoch = KonsoleKalendarEpoch::QDateTime2epoch(dt);
00092 cout <<
"date="
00093 << dt.toString(Qt::TextDate)
00094 <<
" converts to "
00095 <<
"epoch="
00096 << epoch
00097 << endl;
00098
00099
00100 epoch=100000;
00101 dt = KonsoleKalendarEpoch::epoch2QDateTime(epoch);
00102 cout <<
"TEST 2:" << endl;
00103 cout <<
"epoch="
00104 << epoch
00105 <<
" converts to "
00106 << dt.toString(Qt::TextDate)
00107 << endl;
00108
00109 epoch = KonsoleKalendarEpoch::QDateTime2epoch(dt);
00110 cout <<
"date="
00111 << dt.toString(Qt::TextDate)
00112 <<
" converts to "
00113 <<
"epoch="
00114 << epoch
00115 << endl;
00116
00117
00118 epoch=10000000;
00119 dt = KonsoleKalendarEpoch::epoch2QDateTime(epoch);
00120 cout <<
"TEST 3:" << endl;
00121 cout <<
"epoch="
00122 << epoch
00123 <<
" converts to "
00124 << dt.toString(Qt::TextDate)
00125 << endl;
00126
00127 epoch = KonsoleKalendarEpoch::QDateTime2epoch(dt);
00128 cout <<
"date="
00129 << dt.toString(Qt::TextDate)
00130 <<
" converts to "
00131 <<
"epoch="
00132 << epoch
00133 << endl;
00134
00135
00136 epoch=1000000000;
00137 dt = KonsoleKalendarEpoch::epoch2QDateTime(epoch);
00138 cout <<
"TEST 4:" << endl;
00139 cout <<
"epoch="
00140 << epoch
00141 <<
" converts to "
00142 << dt.toString(Qt::TextDate)
00143 << endl;
00144
00145 epoch = KonsoleKalendarEpoch::QDateTime2epoch(dt);
00146 cout <<
"date="
00147 << dt.toString(Qt::TextDate)
00148 <<
" converts to "
00149 <<
"epoch="
00150 << epoch
00151 << endl;
00152
00153
00154 epoch=10000000000;
00155 dt = KonsoleKalendarEpoch::epoch2QDateTime(epoch);
00156 cout <<
"TEST 5:" << endl;
00157 cout <<
"epoch="
00158 << epoch
00159 <<
" converts to "
00160 << dt.toString(Qt::TextDate)
00161 << endl;
00162
00163 epoch = KonsoleKalendarEpoch::QDateTime2epoch(dt);
00164 cout <<
"date="
00165 << dt.toString(Qt::TextDate)
00166 <<
" converts to "
00167 <<
"epoch="
00168 << epoch
00169 << endl;
00170 }
00171
#endif