Why does initializing a date object fail when I use a variable instead of integers or a string?

Viewed 48

I am trying to create a new date object initialized to a date passed in from another function. The program will not know the desired date in advance, but let's say the date is January 1, 2017.

Successful:

var newYear = new Date(2017, 0, 1);
Logger.log(newYear.toISOString());
//logs 2017-01-01T08:00:00.000Z

Unsuccessful:

var date = "2017, 0, 1";
var newYear = new Date(date);
Logger.log(newYear.toISOString());
//throws "Error, date range is invalid."

Unsuccessful:

var date = "2017-0-1";
var newYear = new Date(date);
Logger.log(newYear.toISOString());
//throws "Error, date range is invalid."

Edit: Just before posting I figured it out. I hope no one minds me posting and answering my own question-- maybe you can answer it better!

1 Answers
Related