Следующий код, использующий модуль datetime , работает для меня (проверено в Python 3.6):
import datetime
value = "2018-11-05T08:58:00Z"
dt = datetime.datetime.strptime(value, "%Y-%m-%dT%H:%M:%SZ")
# Result is: datetime.datetime(2018, 11, 5, 8, 58)
Это преобразует ваши строковые значения в datetime
экземпляров, которые затем можно сравнить с now()
. Значения, которые создаются, должны быть наивными (то есть они не имеют никакой информации о часовом поясе).
Однако, если вы уверены, что now()
для вас не UTC (он же время зулу), вам может потребоваться выполнить преобразование. Это может быть возможно, если, например, вы используете Django timezone.now()
и ваш настроенный часовой пояс отличается от UTC. В этом случае я мог бы преобразовать результат now()
в UTC, поэтому вам нужно преобразовать только одно значение. Модуль pytz легко справляется с подобными вещами.