Your timezone is GMT-6 (as revealed by the GMT-0600 (MDT)
in the output you've provided). Therefore the date which gets generated is offset by -6 hours. In this case, midnight minus 6 hours is 6PM on the previous day.
If you call date.toISOString()
, you'll see that the UTC time is "2016-04-10T00:00:00.000Z"
as expected.