WordPress.org

Make WordPress Core

Changes between Version 1 and Version 2 of Ticket #20328, comment 11


Ignore:
Timestamp:
03/05/2013 12:19:48 PM (5 years ago)
Author:
scholesmafia
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #20328, comment 11

    v1 v2  
    33The original phpdoc for the function hints at the bug: "Simply adds the value of gmt_offset." This is not sufficient to be DST aware. The point of DST is that gmt_offset changes throughout the year, so simply adding the offset to any date will be incorrect for ~50% of dates.
    44
    5 The dual function `get_gmt_from_date` uses the `timezone_string` option and the `DateTime` class to properly respect the timezone, as alluded to in #20398. This is why the second test `test_dst_respected_getting_gmt_date` passes.
     5The dual function `get_gmt_from_date` uses the `timezone_string` option and the `DateTime` class to properly respect the timezone, as alluded to in #20398. This is why the second test `test_dst_respected_getting_gmt_date` passes. The logic for in this function is rather nasty and roundabout, however, so the attached patch simplifies it.
    66
    7 The patch to `get_date_from_gmt` adds the same functionality, so that the `timezone_string` is used to convert the GMT date into a date local to that timezone, which respects DST where relevant. The patch only alters `get_gmt_from_date` to unify the logic between both functions and use `DateTime` properly.
     7The patch to `get_date_from_gmt` adds the same functionality, so that the `timezone_string` is used to convert the GMT date into a date local to that timezone, which respects DST where relevant.
    88
    99Note that both functions fall back to the naïve approach of adding or subtracting `gmt_offset` where the `timezone_string` option is not available.