Skip to content

Commit a96c1a6

Browse files
committed
Add some documentation on gotchas related to timezone library updates.
1 parent e1465a4 commit a96c1a6

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

doc/source/io.rst

+9
Original file line numberDiff line numberDiff line change
@@ -2911,6 +2911,8 @@ Furthermore ``ptrepack in.h5 out.h5`` will *repack* the file to allow
29112911
you to reuse previously deleted space. Aalternatively, one can simply
29122912
remove the file and write again, or use the ``copy`` method.
29132913

2914+
.. _io.hdf5-notes:
2915+
29142916
Notes & Caveats
29152917
~~~~~~~~~~~~~~~
29162918

@@ -2933,6 +2935,13 @@ Notes & Caveats
29332935
``tables``. The sizes of a string based indexing column
29342936
(e.g. *columns* or *minor_axis*) are determined as the maximum size
29352937
of the elements in that axis or by passing the parameter
2938+
- Be aware that timezones (e.g., ``pytz.timezone('US/Eastern')``)
2939+
are not necessarily equal across timezone versions. So if data is
2940+
localized to a specific timezone in the HDFStore using one version
2941+
of a timezone library and that data is updated with another version, the data
2942+
will be converted to UTC since these timezones are not considered
2943+
equal. Either use the same version of timezone library or use ``tz_convert`` with
2944+
the updated timezone definition.
29362945

29372946
.. warning::
29382947

doc/source/timeseries.rst

+8-1
Original file line numberDiff line numberDiff line change
@@ -1342,7 +1342,14 @@ tz-aware data to another time zone:
13421342

13431343
Be wary of conversions between libraries. For some zones ``pytz`` and ``dateutil`` have different
13441344
definitions of the zone. This is more of a problem for unusual timezones than for
1345-
'standard' zones like ``US/Eastern``.
1345+
'standard' zones like ``US/Eastern``.
1346+
1347+
.. warning::
1348+
1349+
Be aware that a timezone definition across versions of timezone libraries may not
1350+
be considered equal. This may cause problems when working with stored data that
1351+
is localized using one version and operated on with a different version.
1352+
See :ref:`here<io.hdf5-notes>` for how to handle such a situation.
13461353

13471354
Under the hood, all timestamps are stored in UTC. Scalar values from a
13481355
``DatetimeIndex`` with a time zone will have their fields (day, hour, minute)

0 commit comments

Comments
 (0)