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

Geoffrey Garen ggaren at apple.com
Tue Feb 13 13:38:02 PST 2007


Don't worry -- your question is really reasonable!

Other browsers implement some or all of the date/time stack on their  
own, so it's not surprising that you would see variability.

10.3.9 is pretty old, so it's possible that this was a bug that was  
fixed in 10.4.x (Tiger).

I don't have a 10.3.9 machine, but I would recommend trying different  
ways of creating dates and seeing if you can get a date > 2038 by any  
means. For example, what if you call new Date() and just pass it the  
number of milliseconds that you want? Will it honor your request?

Geoff

On Feb 13, 2007, at 1:20 PM, Jason White wrote:

> 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
>>
>>




More information about the webkit-dev mailing list