Re: Recording and looking up dates, when day-wide precision is required
Re: Recording and looking up dates, when day-wide precision is required
- Subject: Re: Recording and looking up dates, when day-wide precision is required
- From: Lachlan Deck <email@hidden>
- Date: Wed, 31 Dec 2008 12:03:20 +1100
On 31/12/2008, at 2:19 AM, Florijan Stamenkovic wrote:
On Dec 30, 2008, at 06:03, Lachlan Deck wrote:
On 30/12/2008, at 7:47 PM, Andrew Lindesay wrote:
I _think_ (correct me if I'm wrong) Florijan would like to store a
logical date rather than a timestamp. For example, he would like
to store the date 2008-09-28. The requirement being that the same
date is applicable to all timezones because it is composited from
year/month/day and is thus independent of timezones.
An example where this might be useful is to store birthdays.
Right - I think it was Florijan's more elaborate description that
confused me :-) I thought he was saying he wanted the date to be
presented according to the user's local timezone whilst at the same
time he was talking about this need. So I wasn't clear on his aims.
Plus, perhaps you were thinking of a web-app scenario,
No. Whether it's a web app or JC is irrelevant. At some point you've
got to decide what timezone to present the data in ... whether that's
using the user's local timezone or some other means.
and that's not what I am doing. I am working on a JC app, where
dates are transferred to and from the client machine in raw form.
So, all the parsing and formatting happens on the client machine,
which could be anywhere.
Sure.
For example, a birthday is 1980-08-08. If I should decide to live
in Munich for a while (I presently live in Auckland) then the same
birthday applies, but if I stored it as a timestamp then it would
have shifted to another day while I live in Munich. Hence the
difficulty storing these things as timestamps.
Depends when you want your present ;-)
So if you're storing dates in the database (as opposed to
timestamps) you'll have to normalise them prior to storage. For
display you'll need a custom formatter.
As I stated before, a point in time defined with the time of 11:30
GMT, whichever date, formats into the same date (textually) in
virtually all timezones. However, I still have some confusion about
this. If I look at a map of the world, virtually all places on the
planet are in the -11 +12 offset range:
http://www.yeswatch.com/timekeeper/images/manual/time-zone-map-large.jpg
However, Java provides different results. For example, the "New
Zealand Standard Time" is at +13. Something I do not understand at
all (since geographically it is partly in +11, partly in +12).
Day light savings...
So, apparently this method does not cover 100% of the globe. Bummer.
I guess that a custom formatter would be necessary to cover also
those time zones (-12, +13, +14). Or I can just ignore the New
Zealanders :P
Are you not controlling the client-side code? Why not do something
simpler. Keep the date in GMT when it reaches the client side. If it's
a birthday, for example, then why bother with the user's local time at
all?
This is why I still do not understand why you need to be fiddling with
some time offset to begin with (i.e., 11:30). If you can't then you
need to be able to fiddle with the date prior to the client displaying
it.
btw, sorry for the confusion, I should have indicated that this is a
JC scenario, and perhaps you could have seen what I was trying to say.
No worries .. I'm just not clear on your objectives or why you are
choosing to worry about time offsets at all unless you've no control
over the presentation - if that's the case, then I understand the
problem. If that's the case, that you've no control on the client-
side, you'll need a preference per client to know what timezone
they're in prior to returning any dates to them so you can fiddle with
them on the server-side prior to returning your results.
with regards,
--
Lachlan Deck
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden