DOMTimeStamp fun

Here's today's fun-with-mobiles tidbit of pain. The extremely entertaining Geolocation API (entertaining to use, not to read) provides the current timestamp in DOMTimeStamp format along with geoposition responses. But it seems browsers and devices aren't 100% in agreement on either what a DOMTimeStamp is, or what it is when it comes back from a geolocation request.

Take for example, this DOMTimeStamp test case. In Firefox 4, I receive:

Value:1301839830719 (13 digits)
Date:Sun Apr 03 2011 16:10:30 GMT+0200 (CEST)

My trusty-ish old iPhone 3GS concurs with Firefox.

Value:1301839909995 (13 digits)
Date:Sun Apr 03 2011 16:11:49 GMT+0200 (CEST)

The iOS simulator for an iPhone4 however, thinks that it's half an hour ago.

Value:1301838297961 (13 digits)
Date:Sun Apr 03 2011 15:44:57 GMT+0200 (CEST)

All fairly reasonable. But, Chrome 10 decides to take things to the next level:

Value:1301837259664648 (16 digits)
Date:Mon Jul 31 43223 23:01:04 GMT+0200 (CEST)

That's why I use Chrome. It's like living waaay in the future. The one lesson I've learned from all this is that in the year 43223 we'll still be using JavaScript. Awesome!