mbostock/d3 — pull request #1197 by jasondavies (2013-04-13 09:54:10+00:00)
Title: Fix Firefox time interval bug for Europe/London.

d3.time.day should always return midnights. However, Firefox doesn't
return midnight for the following:

var d = new Date(1970, 0);
d.setFullYear(2011, 8, 22);
// Thu Sep 22 2011 01:00:00 GMT+0100 (BST)

Chrome (and Node.js) both return:

// Thu Sep 22 2011 00:00:00 GMT+0100 (BST)

This is because `new Date(1970, 0)` has different daylight saving
behaviour in the two browsers.

Chrome: Thu Jan 01 1970 00:00:00 GMT+0000 (GMT)
Firefox: Thu Jan 01 1970 01:00:00 GMT+0100 (BST)

In fact, Firefox is more correct! The UK was on permanent BST from
February 1968 until October 1971. This seemingly minor difference in
interpretation results in non-midnight times being returned for all day
intervals and other intervals that use d3.time.day internally.

The fix forces midnight to always be returned.

Fixes #1196.