I ran into a strange problem with JSON stringify throwing an invalid date range error on Safari. Everything worked fine in Firefox and Chrome, just not in Safari. The issue is that Safari can’t read the default formatting set by the Date constructor.
The solution was to use the moment.js library : http://momentjs.com
It allows you to create a date variable using moment().format();
var someDate = new Date();
var newMoment = new moment(someDate).format();
You can then pass this newMoment variable to JSON without complaints. Hope this works for you too.