[webkit-dev] Stumped by Date() results in Safari

Chris Brichford chrisb at adobe.com
Tue Feb 13 13:47:08 PST 2007


I have also encountered problems with the date code in WebKit.  I was
able to fix the bugs I care about ( windows port crashed ) by upgrading
to the latest code from WebKit.org.  Since it sounds as though you are
an AJAX developer trying to get your app working in Safari, that might
not help you too much.  The date object's implementation seems to have
been totally redone recently.  I would not be surprised if the old code
is broken for dates outside of the "compatible range" ( 1970/1/1 -
sometime in 2038 ) in one way or another.

If you want to see the C++ code in question look at:
http://trac.webkit.org/projects/webkit/browser/trunk/JavaScriptCore/kjs/
date_object.cpp
http://trac.webkit.org/projects/webkit/browser/trunk/JavaScriptCore/kjs/
DateMath.cpp

User kmccullo seems to be the person who has submitted most of the
changes in this area recently.

Hope this helps,
Chris

-----Original Message-----
From: webkit-dev-bounces at lists.webkit.org
[mailto:webkit-dev-bounces at lists.webkit.org] On Behalf Of Jason White
Sent: Tuesday, February 13, 2007 1:21 PM
To: Geoffrey Garen
Cc: webkit-dev at lists.webkit.org
Subject: Re: [webkit-dev] Stumped by Date() results in Safari

Hmm. Yes, that's it. The machines having the problem all run 10.3.9 and
Safari reports being 1.3.2. I suppose it could be a problem that was
fixed, but since I think people would have noticed this I've got a
feeling that it's probably something external to Safari.. I'm just
really puzzled by why it would only affect that browser on the very same
machines.

I'm in a situation where I have to support Safari for various reasons,
however, I'm not really an expert on it.. so if someone spots a big
newbie mistake please accept my apologies! As I said, I tried to find
the answer in documentation but got nowhere. Thanks for sharing the
bandwidth and time..

Jason

On 2/13/07, Geoffrey Garen <ggaren at apple.com> wrote:
> Jason,
>
> I tried this in Safari on 10.4.8:
>
> javascript:alert(new Date('01/19/2039').getTime())
>
> and got:
>
> 2179036800000
>
> which is greater than 214748364700.
>
> Am I testing the right thing?
>
> Geoff
>
> On Feb 13, 2007, at 12:57 PM, Jason White wrote:
>
> > If I'm posting to a very wrong place, please let me know. I'm having

> > a problem with a Javascript date in Safari that is preventing me 
> > from supporting it alongside Firefox, IE, and Navigator.
> >
> > It appears that Safari has a problem when I attempt to use new 
> > Date() and pass in a string formatted date greater than 01/19/2038. 
> > Using  x = new Date('01/19/2038').getTime(), it appears that the 
> > milliseconds since 01/01/1970 never goes over 214748364700 no matter

> > what you set the date to..but it can be less. IE and Firefox will go

> > much higher than that. Converting that number to binary, it doesn't 
> > look like anything is getting overflowed (it's not all 1s)
> >
> > Can anyone help me figure out what is wrong here? I can't imagine 
> > it's Safari's fault, or someone would have noticed by now. I don't 
> > think it's a system configuration issue because the other browsers 
> > don't have the same problem.
> >
> > Also, if anyone knows of a good reference book on this browser 
> > please let me know! For some reason I'm having a hard time finding 
> > much information on developing for it's peculiarities.
> >
> > Thanks,
> >
> > Jason White
> > Developer
> > New England Research Institute
> > _______________________________________________
> > webkit-dev mailing list
> > webkit-dev at lists.webkit.org
> > http://lists.webkit.org/mailman/listinfo/webkit-dev
>
>
_______________________________________________
webkit-dev mailing list
webkit-dev at lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev



More information about the webkit-dev mailing list