Ref T11816. When building a PHP DateTime object, we favored the DateTime's timezone over the viewer's timezone, even for all-day dates.
This is incorrect: we should return all-day dates in the viewer's timezone, since otherwise the display layer will adjust them to the "correct" timezone.
Now non-all-day dates retain the old logic; all-day dates favor the viewer's timezone.
This only meaningfully affected display stuff since all the epoch logic was already correct.