This is expected. The timestamp number is measuring time independent of timezone. When converted to human readable format, it will change based on the timezone of the system. This is exactly as you'd expect, so that an event that occured at 6pm in New York will not also be an event at 6pm in San Fransisco ... but they will have the same timestamp.
From ECMA standard:
Time is measured in ECMAScript in milliseconds since 01 January, 1970
UTC. In time values leap seconds are ignored. It is assumed that there
are exactly 86,400,000 milliseconds per day.
http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.1
Conversion to string is locale dependent:
This function returns a String value. The contents of the String are
implementation-dependent, but are intended to represent the Date in
the current time zone in a convenient, human-readable form.
http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.5.2