Date/Time in KF5 / Qt5
Sean Harmer
sh at theharmers.co.uk
Wed Jul 6 22:25:05 BST 2011
On 06/07/2011 21:18, David Jarvie wrote:
> On Wednesday 06 July 2011 21:10:06 Thiago Macieira wrote:
>> Em Wednesday, 6 de July de 2011, às 20:54:54, David Jarvie escreveu:
>>>> Duration is simply the number of seconds or milliseconds between two
>>>> dates, appropriately given in their universal time. So duration is not
>>>> affected by daylight savings.
>>> Duration must record whether it was specified in terms of
>>> hours/minutes/seconds, or days/weeks/whatever so that daylight savings
>>> changes can be taken into account when calculating the end time of a
>>> duration, given a start time.
>>>
>>> If the duration class provides methods to calculate the end time, given a
>>> start time, then it must take account of daylight savings changes.
>>>
>>> See kdepimlibs/kcalcore/duration.h for example.
>> That's not what QTimeSpan is supposed to be. It's simply a quantity of
>> seconds.
> Ok. Being more limited, it won't be a suitable replacement for KCalCore::Duration.
I would need to take a closer look at KCalCore::Duration but from what
you have said it should be very simple to implement an equivalent to it
in terms of QTimeSpan given that a duration is a fixed quantity (within
an inertial frame). QTimeSpan has the facility to specify a start
datetime and to calculate the end of the span but where it would fall
short is the representation of that end time if it lies in a period of
daylight savings different to the start time.
QDateTime simply stores a QDateTime as the optional start (or end time
if the span is negative) and the duration in milliseconds as a qint64.
It was meant as a simple convenience class for cases like displaying a
label with "Download has x:y remaining" or for working with datetime
mathematical operations analogous to QRect for e.g.
All the best,
Sean
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the kde-core-devel
mailing list