Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
PIM
Akonadi Calendar Tools
Commits
de0117d8
Commit
de0117d8
authored
Apr 20, 2006
by
Reinhold Kainhofer
Browse files
Deprecated QDate methods
svn path=/trunk/KDE/kdepim/kontact/plugins/; revision=531931
parent
b0e7089b
Changes
1
Hide whitespace changes
Inline
Side-by-side
konsolekalendar/konsolekalendarepoch.cpp
0 → 100644
View file @
de0117d8
/*******************************************************************************
* konsolekalendarepoch.cpp *
* *
* KonsoleKalendar is a command line interface to KDE calendars *
* Copyright (C) 2002-2004 Tuukka Pasanen <illuusio@mailcity.com> *
* Copyright (C) 2003-2005 Allen Winter <winter@kde.org> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
* *
* As a special exception, permission is given to link this program *
* with any edition of Qt, and distribute the resulting executable, *
* without including the source code for Qt in the source distribution. *
* *
******************************************************************************/
/**
* @file konsolekalendarepoch.cpp
* Provides the KonsoleKalendarEpoch class definition.
* @author Tuukka Pasanen
* @author Allen Winter
*/
#include
<stdlib.h>
#include
<iostream>
#include
<qdatetime.h>
#include
"konsolekalendarepoch.h"
using
namespace
KCal
;
using
namespace
std
;
KonsoleKalendarEpoch
::
KonsoleKalendarEpoch
()
{
}
KonsoleKalendarEpoch
::~
KonsoleKalendarEpoch
()
{
}
// By "epoch" we mean the number of seconds since 00:00:00 UTC on January 1 1970
// Function to convert an epoch value into a QDateTime
QDateTime
KonsoleKalendarEpoch
::
epoch2QDateTime
(
uint
epoch
)
{
QDateTime
dt
;
dt
.
setTime_t
(
epoch
);
return
(
dt
);
}
// Function to convert a QDateTime value into an epoch
uint
KonsoleKalendarEpoch
::
QDateTime2epoch
(
QDateTime
dt
)
{
// THIS FUNCTION CAN BE OFF BY 1 HOUR DUE TO DAYLIGHT SAVINGS TIME.
// SORRY QT DOESN'T HANDLE DAYLIGHT SAVINGS TIME.
// Compute #seconds to subtract for local timezone difference from UTC.
int
offset
=
QDateTime
::
currentDateTime
(
Qt
::
UTC
).
toTime_t
()
-
QDateTime
::
currentDateTime
(
Qt
::
LocalTime
).
toTime_t
();
return
(
dt
.
toTime_t
()
-
offset
);
}
#if defined (TEST)
// Pass -DTEST to the compile command to create the test program, e.g:
// cc -DTEST -I/usr/local/KDE/include konsolekalendarepoch.cpp
// -L/usr/local/KDE/lib -lqt-mt -pthread
main
()
{
uint
epoch
;
QDateTime
dt
;
cout
<<
endl
;
cout
<<
"NOTE: Some tests may be off by 1 hour (3600 secs) "
<<
"due to daylight savings time"
<<
endl
<<
endl
;
// Test1
epoch
=
0
;
dt
=
KonsoleKalendarEpoch
::
epoch2QDateTime
(
epoch
);
cout
<<
"TEST 1:"
<<
endl
;
cout
<<
"epoch="
<<
epoch
<<
" converts to "
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
endl
;
epoch
=
KonsoleKalendarEpoch
::
QDateTime2epoch
(
dt
);
cout
<<
"date="
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
" converts to "
<<
"epoch="
<<
epoch
<<
endl
;
// Test2
epoch
=
100000
;
dt
=
KonsoleKalendarEpoch
::
epoch2QDateTime
(
epoch
);
cout
<<
"TEST 2:"
<<
endl
;
cout
<<
"epoch="
<<
epoch
<<
" converts to "
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
endl
;
epoch
=
KonsoleKalendarEpoch
::
QDateTime2epoch
(
dt
);
cout
<<
"date="
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
" converts to "
<<
"epoch="
<<
epoch
<<
endl
;
// Test3
epoch
=
10000000
;
dt
=
KonsoleKalendarEpoch
::
epoch2QDateTime
(
epoch
);
cout
<<
"TEST 3:"
<<
endl
;
cout
<<
"epoch="
<<
epoch
<<
" converts to "
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
endl
;
epoch
=
KonsoleKalendarEpoch
::
QDateTime2epoch
(
dt
);
cout
<<
"date="
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
" converts to "
<<
"epoch="
<<
epoch
<<
endl
;
// Test4
epoch
=
1000000000
;
dt
=
KonsoleKalendarEpoch
::
epoch2QDateTime
(
epoch
);
cout
<<
"TEST 4:"
<<
endl
;
cout
<<
"epoch="
<<
epoch
<<
" converts to "
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
endl
;
epoch
=
KonsoleKalendarEpoch
::
QDateTime2epoch
(
dt
);
cout
<<
"date="
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
" converts to "
<<
"epoch="
<<
epoch
<<
endl
;
// Test5
epoch
=
10000000000
;
dt
=
KonsoleKalendarEpoch
::
epoch2QDateTime
(
epoch
);
cout
<<
"TEST 5:"
<<
endl
;
cout
<<
"epoch="
<<
epoch
<<
" converts to "
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
endl
;
epoch
=
KonsoleKalendarEpoch
::
QDateTime2epoch
(
dt
);
cout
<<
"date="
<<
dt
.
toString
(
Qt
::
TextDate
)
<<
" converts to "
<<
"epoch="
<<
epoch
<<
endl
;
}
#endif
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment