ENH: Support datetime.timezone objects
State: closed

- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Introduced in Python 3.2. First pass is to evaluate what tests fail when included in the tz_aware_fixture

Labels:
name: Enhancement
name: Timezones
description: Timezone data dtype

Comments:
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=h1) Report
> Merging [#25065](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/ea013a254847fbc5551e3ec91a468370c7118589?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/25065/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master   #25065   +/-   ##
=======================================
  Coverage   92.37%   92.37%           
=======================================
  Files         166      166           
  Lines       52403    52403           
=======================================
  Hits        48405    48405           
  Misses       3998     3998
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.79% <ø> (ø)` | :arrow_up: |
| #single | `42.87% <ø> (ø)` | :arrow_up: |


------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=footer). Last update [ea013a2...5076045](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=h1) Report
> Merging [#25065](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/707c7201a744c48c835f719421e47480beee2184?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/25065/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master   #25065   +/-   ##
=======================================
  Coverage   91.25%   91.25%           
=======================================
  Files         172      172           
  Lines       52977    52977           
=======================================
  Hits        48342    48342           
  Misses       4635     4635
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `89.82% <ø> (ø)` | :arrow_up: |
| #single | `41.74% <ø> (ø)` | :arrow_up: |


------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=footer). Last update [707c720...1c6165b](https://codecov.io/gh/pandas-dev/pandas/pull/25065?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

Python 2 builds are failing as expected.

By virtue of the tz_fixtures, `datetime.timezones` are now being tested with

- `DatetimeIndex` & `Timestamp` & `date_range` & `Series` constructor
- `DatetimeIndex` & `Timestamp` methods
- timezone conversion
- indexing
-  comparison and arithmetic ops with arrays & scalars
- `append`/`concat` & other reshaping methods
- `NaT` ops
@TomAugspurger This branch will always fail the PY2 builds though (feature introduced in 3.3). I was thinking we wait until those builds are removed (hopefully soonish/after 0.24.2)
This should be good to merge now that the PY2 builds are gone. 
thanks @mroeschke