See https://discourse.phabricator-community.org/t/personal-timezone-setting-mismatch-cleared-and-more-specific-cases/1680. The code has always worked correctly, but the resulting timezone mismatch warning messsage wasn't specific enough when the mismatch is by a non-integer number of hours.
Set timezone locally to Asia/Vladivostok and in Phabricator to Australia/Adelaide (which as of today's date are 30 minutes apart) and observed a more precise error message: F6061330
I didn't know about %+, neat.
Maybe this should be %+0.2f since 3h 15m will render as 3.2 or 3.3 right now.
Or maybe (something like) %+d:%02d with the remainder, so we get +3:15, +3:30 and +3:45 instead of +3.25, +3.5 and +3.75 -- that seems marginally clearer?