konsolekalendarepoch.cpp
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
This file is part of the documentation for konsolekalendar Library Version 3.3.2.