Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript seems to be using time zones backwards with Firefox

I've run the following in the console on Firefox (version 21) and I'm getting results I don't expect.

new Date(1362891600000);

var date = new Date(1362891600000);
var time = date.getHours();
new Date(date.setHours(date.getHours() + 24));

The result really throws me for a loop.

The first date shows up as Eastern Daylight Time, while the second one shows up with Eastern Standard Time. It's totally backwards. This does not happen with IE or with Chrome.

What's going on here? enter image description here

like image 767
Joseph Avatar asked Jun 03 '13 18:06

Joseph


1 Answers

This is definitely a bug in Firefox. You should probably report it to them.

However, be aware that anything after the offset is non-standard and support varies wildly across browsers and operating systems.

For example, some browsers display a time zone name, while others display an abbreviation or internal id. Also, some keep their own strings, and some use the values returned by the operating system. And on Windows, there is a different time zone database than on Linux or Mac. Also, some browsers may localize this string using language, locale, or culture settings.

You can display it to a user, if you know the value is in their own local time zone. But don't rely on it for anything critical.

like image 142
Matt Johnson-Pint Avatar answered Oct 26 '22 10:10

Matt Johnson-Pint