Why 1 day off when I try to convert date into toisostring in javascript?

Viewed 536

I am trying to convert date object to ISOString() formate. But it return me 1 day off ( I mean it reduce 1 day ).

var fromDate = { 
  day:4,
  month:5,
  year:2012
 }
 var fromDateString = new Date(fromDate.year+'-'+fromDate.month+'-'+fromDate.day)
 console.log(fromDateString.toISOString())

2 Answers

It is because of timezone, new Date() is in your current timezone, toISOString() is using standard timezone.

I have searched and I find best solution for every date object to convert in any format. Comment if you agree?

var dateObj = {
  day:2,
  month:5,
  year:2012
}
var date = new Date;
date.setFullYear(dateObj.year,dateObj.month-1,dateObj.day)
console.log(date)

Related