Page MenuHomePhabricator

Fix an issue where All Day events could return a DateTime with the wrong timezone
ClosedPublic

Authored by epriestley on Nov 16 2016, 3:24 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Feb 18, 12:03 PM
Unknown Object (File)
Sun, Feb 9, 2:49 AM
Unknown Object (File)
Jan 30 2025, 4:33 AM
Unknown Object (File)
Jan 30 2025, 4:33 AM
Unknown Object (File)
Jan 30 2025, 4:33 AM
Unknown Object (File)
Jan 29 2025, 3:45 AM
Unknown Object (File)
Jan 25 2025, 5:17 PM
Unknown Object (File)
Jan 25 2025, 1:25 PM
Subscribers
None

Details

Summary

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.

Test Plan

Created an all day event, changed timezone forward/backward, observed dates still rendering correctly in tooltips and subheaders.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Fix an issue where All Day events could return a DateTime with the wrong timezone.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Nov 16 2016, 3:30 PM
This revision was automatically updated to reflect the committed changes.