bpo-37642: Update acceptable offsets in timezone (GH-14878) (#15227)

This fixes an inconsistency between the Python and C implementations of
the datetime module. The pure python version of the code was not
accepting offsets greater than 23:59 but less than 24:00. This is an
accidental legacy of the original implementation, which was put in place
before tzinfo allowed sub-minute time zone offsets.

GH-14878

(cherry picked from commit 92c7e30adf5c81a54d6e5e555a6bdfaa60157a0d)
diff --git a/Misc/ACKS b/Misc/ACKS
index 311259f..ab874e9 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1874,3 +1874,4 @@
 Batuhan Taskaya
 Aleksandr Balezin
 Robert Leenders
+Ngalim Siregar
diff --git a/Misc/NEWS.d/next/Library/2019-07-21-20-59-31.bpo-37642.L61Bvy.rst b/Misc/NEWS.d/next/Library/2019-07-21-20-59-31.bpo-37642.L61Bvy.rst
new file mode 100644
index 0000000..09ff257
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-07-21-20-59-31.bpo-37642.L61Bvy.rst
@@ -0,0 +1,3 @@
+Allowed the pure Python implementation of :class:`datetime.timezone` to represent
+sub-minute offsets close to minimum and maximum boundaries, specifically in the
+ranges (23:59, 24:00) and (-23:59, 24:00). Patch by Ngalim Siregar