Sorry, I'm a still a little confused as to how the Date() value is changing and where.
If I call 'new Date()' the browser software takes the time from my computer, correct?
If I was to call 'new Date()' from within the JSON.Stringify() method, what happens then? Where does new Date() get it's value, I thought it would still be from my machine which should then be the same value as the first 'new Date()'?
If that wasn't the case and calling 'new Date()' from within JSON.Stringify somehow pulled a different timezone then surely it could be worked around by storing the 'new Date()' value in a variable and then placing this variable in the object literal which is passed to JSON.Stringify?
e.g. (sorry I'm only allowed to post 1 link so had to place my jsFiddle code here)
var storeDate = new Date();
alert(storeDate + '\n' + JSON.stringify({ 'date': storeDate }));
But that doesn't work, so it seems that JSON.Stringify does somehow change the variable?
Sorry if I've mis-understood what people are suggesting. But it sounds like you are saying it all depends on timezones - which is fine - but I just don't get why executing 'new Date()' and storing the value within a variable can then have it's set value changed to a different value when passed through JSON.Stringify?
UPDATE: so it seems even though I'm storing new Date() in a variable it is NOT a set value stored in the variable. http://www.jsfiddle.net/s2uYE/3/ shows that if I manually type out the datetime then JSON.Stringify does nothing.