aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools/misc/timeTools.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/fontTools/misc/timeTools.py')
-rw-r--r--Lib/fontTools/misc/timeTools.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/Lib/fontTools/misc/timeTools.py b/Lib/fontTools/misc/timeTools.py
index 657d77f8..f4b84f6e 100644
--- a/Lib/fontTools/misc/timeTools.py
+++ b/Lib/fontTools/misc/timeTools.py
@@ -1,10 +1,9 @@
"""fontTools.misc.timeTools.py -- tools for working with OpenType timestamps.
"""
-from __future__ import print_function, division, absolute_import
-from fontTools.misc.py23 import *
import os
import time
+from datetime import datetime, timezone
import calendar
@@ -45,7 +44,12 @@ def timestampToString(value):
return asctime(time.gmtime(max(0, value + epoch_diff)))
def timestampFromString(value):
- return calendar.timegm(time.strptime(value)) - epoch_diff
+ wkday, mnth = value[:7].split()
+ t = datetime.strptime(value[7:], ' %d %H:%M:%S %Y')
+ t = t.replace(month=MONTHNAMES.index(mnth), tzinfo=timezone.utc)
+ wkday_idx = DAYNAMES.index(wkday)
+ assert t.weekday() == wkday_idx, '"' + value + '" has inconsistent weekday'
+ return int(t.timestamp()) - epoch_diff
def timestampNow():
# https://reproducible-builds.org/specs/source-date-epoch/