Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

new Date() is working in Chrome but not Firefox

I am creating a datetime string that looks like this: 2010-07-15 11:54:21

And with the following code I get invalid date in Firefox but works just fine in Chrome

var todayDateTime = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + seconds; var date1 = new Date(todayDateTime); 

In firefox date1 is giving me an invalid date, but in chrome its working just fine what would the main cause be?

like image 708
pixeldev Avatar asked Jul 15 '10 16:07

pixeldev


People also ask

Does new Date () return a string?

Date() constructor. The Date() constructor can create a Date instance or return a string representing the current time.

How do I change the date on Firefox?

How can I adjust this? Bottom-Right corner on the Task Bar is the Windows-7 Time and Date. Click on that to change the time or Time Zone.

What is new Date () format in JavaScript?

The most used method to get the date in JavaScript is the new Date() object. By default, when you run new Date() in your terminal, it uses your browser's time zone and displays the date as a full text string, like Fri Jul 02 2021 12:44:45 GMT+0100 (British Summer Time).


2 Answers

You can't instantiate a date object any way you want. It has to be in a specific way. Here are some valid examples:

new Date() // current date and time new Date(milliseconds) //milliseconds since 1970/01/01 new Date(dateString) new Date(year, month, day, hours, minutes, seconds, milliseconds) 

or

d1 = new Date("October 13, 1975 11:13:00") d2 = new Date(79,5,24) d3 = new Date(79,5,24,11,33,0) 

Chrome must just be more flexible.

Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

From apsillers comment:

the EMCAScript specification requires exactly one date format (i.e., YYYY-MM-DDTHH:mm:ss.sssZ) but custom date formats may be freely supported by an implementation: "If the String does not conform to that [ECMAScript-defined] format the function may fall back to any implementation-specific heuristics or implementation-specific date formats." Chrome and FF simply have different "implementation-specific date formats."

like image 108
Chris Laplante Avatar answered Oct 04 '22 11:10

Chris Laplante


This works in all browsers -

new Date('2001/01/31 12:00:00 AM')

new Date('2001-01-31 12:00:00') 

Format: YYYY-MM-DDTHH:mm:ss.sss

Details: http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15

like image 42
Tahin Rahman Avatar answered Oct 04 '22 11:10

Tahin Rahman