Why is new Date() subtracting 1 day in Javascript?

date, javascript

Solution

When you enter the following:

 new Date("2015-01-28T00:00:00");
 // Result: Tue Jan 27 2015 17:00:00 GMT-0700 (Mountain Standard Time)

the browser assumes that you are giving a date in GMT Time zone. So it will automatically convert the given date to your local date.

It's always a good idea to inform the browser of the timezone you are working on in order to prevent future problems:

 new Date("2015-01-28T00:00:00-07:00");
 // Result: Tue Jan 28 2015 00:00:00 GMT-0700 (Mountain Standard Time)

Problem

I need to convert a String to a Date object. The date string is delivered in the following format: "2015-01-28T00:00:00" When I create a new Date, I get the previous date: ``` Entered: new Date("2015-01-28T00:00:00") ``` `Result: Tue Jan 27 2015 17:00:00 GMT-0700 (Mountain Standard Time)` Does anyone know why this is occurring?

Original source