(no subject)
(no subject)
- Subject: (no subject)
- From: "Nathan C. Hampton" <email@hidden>
- Date: Wed, 17 Sep 2003 11:59:20 -0500
What if you just set your server to not observe daylight savings? That
would fix the storage and calculation problem, and you could write some
custom logic that would make the UI observe daylight savings, but
translate that to standard time for storage and calculation?
--NCH
On Wednesday, September 17, 2003, at 02:19 AM, Denis Stanton wrote:
Hi Albert
Thank you for taking the time to look into this.
On Wednesday, September 17, 2003, at 04:52 PM, Albert Jagnow wrote:
I am pretty sure that NSTimestamp is stored in UTC which is not
affected by daylight savings time. If you compare two timestamps
where one was stored on October 25 2003 at 2:00AM local time and the
other was stored on October 26 2003 at 1:00AM local time after the
time change, these dates are 24 hours apart even though one is at 2:00
local time and the other is at 1:00 local time. If you look at the
UTC time for each in a database (assuming local time is central time)
you should see something like 2003-10-25 07:00:00 for the first time
and 2003-10-26 07:00:00 for the second. The difference calculation
below should give you a diff of 24 hours or 1 day. This is the
correct difference is it not?
That's not the way it works out in practice. I am prepared to believe
that that I am causing this through my own ignorance, but my experience
so far suggests that not all days are equal.
I am developing an application for booking rental cars. The user sets
outDate and returnDate by selecting day number, month name and year
number from three pop-up menus. These are used to form dates with
approximately the following code:
NSTimeZone timeZone = NSTimeZone.systemTimeZone();
outDate = new NSTimestamp(dateYear, dateMonth, dateDay, 0, 0,
0, timeZone);
If I set an outDate of 1 October and a return date of 7th October, and
then use System.out.println to display the results without formatting I
will see:
2003-01-01 12:00:00 Etc/GMT
2003-01-07 11:00:00 Etc/GMT
The user intends renting for a whole week, but performing the
calculation discussed would return a duration of 6.9583 days,
truncated to 6 days.
The workaround is to always add 1 hour before performing the division.
Some weeks will then be 7 days and others 7.0416. All will truncate to
7.
Maybe the better answer is to set a timezone of UTC in the first place,
but I haven't figured out how to do this so I'm using system time.
Denis
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.