Issue #28148: Stop using localtime() and gmtime() in the time module.

Introduced platform independent _PyTime_localtime API that is similar
to POSIX localtime_r, but available on all platforms.  Patch by Ed
Schouten.
diff --git a/Include/pytime.h b/Include/pytime.h
index 595fafc..87ac7fc 100644
--- a/Include/pytime.h
+++ b/Include/pytime.h
@@ -184,6 +184,14 @@
    Return 0 on success, raise an exception and return -1 on error. */
 PyAPI_FUNC(int) _PyTime_Init(void);
 
+/* Converts a timestamp to the Gregorian time, using the local time zone.
+   Return 0 on success, raise an exception and return -1 on error. */
+PyAPI_FUNC(int) _PyTime_localtime(time_t t, struct tm *tm);
+
+/* Converts a timestamp to the Gregorian time, assuming UTC.
+   Return 0 on success, raise an exception and return -1 on error. */
+PyAPI_FUNC(int) _PyTime_gmtime(time_t t, struct tm *tm);
+
 #ifdef __cplusplus
 }
 #endif