Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread Problem with date values in TDataSet
Tue, Jun 18 2013 8:20 AMPermanent Link

Christian Kaufmann

Hi,

I understood that DateTime is saved in Milliseconds since 1.1.1970
UTC. This is fine for time stamps.

But I have problems with date columns (DataType = dtDate). Let's say,
I have a swim meet dates 12.-13. June 2013. For everybody this should
be the same date, regardless if he looks at the list from Auckland or
from Hawai; or the worst timezone is Samoa (UTC +13).

In my Delphi server app, I have the dates as normal TDateTime values.
So what is the best way to ensure, that everybody sees the same dates?

For my understanding, this should be the default behaviour. Timezone
support doesn't make sence for me for Date or Time columns, only for
DateTime columns.

cu Christian
Tue, Jun 18 2013 8:30 AMPermanent Link

Christian Kaufmann

I checked here about SQL Server types
http://msdn.microsoft.com/en-us/library/ms186724.aspx

When I read this, I would like to see no TimeZone support for
dtDate, dtDateTime and dtTime but an additional type dtDateTimeOffset
with TimeZone support.

This could be changed quickly in WebData.

Not sure if I'm the only one who thinks like this it's easier to use.

cu Christian
Tue, Jun 18 2013 11:57 AMPermanent Link

Matthew Jones

It does seem as though the time date stuff is hard to manage, and indeed giving the
programmer complete control is a better option than doing things automatically. As
we move to the web, this will be a big issue, so thinking it through and getting it
right now makes sense. Most people are going to want "I said 3pm, and 3pm is what I
meant" even across timezones. My meeting in the USA is at 3pm, even though when I
set it I was in GMT. The offset would allow someone to work with the timezones if
they wish, while ignoring them otherwise.

/Matthew Jones/
Tue, Jun 18 2013 1:27 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Christian,

<< When I read this, I would like to see no TimeZone support for dtDate,
dtDateTime and dtTime but an additional type dtDateTimeOffset with TimeZone
support. >>

That's a good idea, but would require the supporting data type on the
back-end database side of things in order to be automatic, so I would have
to make it something that would require manual changes in the EWB
application to change the data types for the dataset as necessary.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Jun 18 2013 2:40 PMPermanent Link

Walter Matte

Tactical Business Corporation

I like this solution too!

Walter
Wed, Jun 19 2013 2:02 AMPermanent Link

Christian Kaufmann

>to make it something that would require manual changes in the EWB
>application to change the data types for the dataset as necessary.

Like Matthew I prefere no timezone support by default. If a user wants
a dtDateTimeOffset column, he would have to add the columns in the
DataSet in the IDE and change the datatype from dtDateTime to
dtDateTimeOffset.

For now I was thinking about solving it with a OnGetText event. But
there I get the text representation.

Is the TDataSet on the correct record when the OnGetText is called? So
I could use DataSet['DATE'].AsDate and convert to string myself?

cu Christian
Thu, Jun 20 2013 2:50 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Christian,

<< Is the TDataSet on the correct record when the OnGetText is called? So I
could use DataSet['DATE'].AsDate and convert to string myself? >>

Yes, those events are only called when the active row is set.

Tim Young
Elevate Software
www.elevatesoft.com
Image