michael@0: // Binary: cache/js-dbg-64-94ceb173baed-linux michael@0: // Flags: -m -n -a michael@0: // michael@0: michael@0: gczeal(2); michael@0: function iso(d) { michael@0: return new Date(d).toISOString(); michael@0: } michael@0: function check(s, millis){ michael@0: description = "Date.parse('"+s+"') == '"+iso(millis)+"'"; michael@0: } michael@0: function dd(year, month, day, hour, minute, second, millis){ michael@0: return Date.UTC(year, month-1, day, hour, minute, second, millis); michael@0: } michael@0: function TZAtDate(d){ michael@0: return d.getTimezoneOffset() * 60000; michael@0: } michael@0: function TZInMonth(month){ michael@0: return TZAtDate(new Date(dd(2009,month,1,0,0,0,0))); michael@0: } michael@0: JulTZ = TZInMonth(7); michael@0: check("2009-07-23T19:53:21.001+12:00", dd(2009,7,23,7,53,21,1)); michael@0: check("2009-07-23T19:53:21+12:00", dd(2009,7,23,7,53,21,0)); michael@0: check("2009-07-23T19:53+12:00", dd(2009,7,23,7,53,0,0)); michael@0: check("2009-07T19:53:21.001", dd(2009,0Xe ,1,19,53,21,1)+JulTZ); michael@0: check("2009-07T19:53:21", dd(2009,7,1,19,53,21,0)+JulTZ); michael@0: check("2009-07T19:53", dd(2009,7,1,19,53,0,0)+JulTZ); michael@0: check("2009-07-23T19:53:21.001+12:00", dd(2009,7,23,7,53,21,1)); michael@0: check("2009-07-23T00:00:00.000-07:00", dd(2009,7,23,7,0,0,0)); michael@0: check("2009-07-23T24:00:00.000-07:00", dd(2009,7,24,7,0,0,0));