JSFiddle - React, Tailwind, and code Playground
HTML
<div id="out"></div>
JavaScript
//Note: test assumes US/Eastern time zone. (Probably works with any US time zone that observes daylight saving time)
var d1 = new Date(2014, 2, 9, 1, 59, 0);
var d2 = new Date(d1);
d2.setMinutes(d1.getMinutes() + 30);
var d3 = new Date(d1);
d3.setTime(d1.getTime() + 30*60000);
document.getElementById('out').innerHTML =
'in: ' + d1.toString() + ' (' + d1.getTime() + ')<br/>' +
'res: ' + d2.toString() + ' (' + d2.getTime() + ')<br/>' +
'exp: ' + d3.toString() + ' (' + d3.getTime() + ')<br/>'
;
/* Firefox Output - We got expected result, but browser confuses EDT and EST:
in: Sun Mar 09 2014 01:59:00 GMT-0500 (Eastern Daylight Time) (1394348340000)
res: Sun Mar 09 2014 03:29:00 GMT-0400 (Eastern Standard Time) (1394350140000)
exp: Sun Mar 09 2014 03:29:00 GMT-0400 (Eastern Standard Time) (1394350140000)
*/
/* Chrome Output - we have actually gone back 30 minutes:
in: Sun Mar 09 2014 01:59:00 GMT-0500 (Eastern Standard Time) (1394348340000)
res: Sun Mar 09 2014 01:29:00 GMT-0500 (Eastern Standard Time) (1394346540000)
exp: Sun Mar 09 2014 03:29:00 GMT-0400 (Eastern Daylight Time) (1394350140000)
*/
/* IE Output - we got expected result:
in: Sun Mar 09 2014 01:59:00 GMT-0500 (Eastern Standard Time) (1394348340000)
res: Sun Mar 09 2014 03:29:00 GMT-0400 (Eastern Daylight Time) (1394350140000)
exp: Sun Mar 09 2014 03:29:00 GMT-0400 (Eastern Daylight Time) (1394350140000)
*/