Я получаю ошибку, указывая часовой пояс как IST и CDT, отличные от GMT.Почему?

#python #python-requests

#python #python-запросы

Вопрос:

Мы не должны изменять строковые строки s1 и s2. Я получаю ошибку при указании часового пояса как IST, но когда он изменяется на GMT, он работает, могу ли я узнать, почему это происходит, и еще одно сомнение, можем ли мы сравнить два разных часовых пояса.Пожалуйста, проверьте код, который я написал здесь. из datetime импортируйте datetime

  s1 = 'Oct 06 09:42:21 IST 2020'
 d1 = datetime.strptime(s1, '%b %d %H:%M:%S %Z %Y')
 print(d1)

 s2 = 'Oct 06 09:42:26 2020 CDT'
 d2 = datetime.strptime(s2, '%b %d %H:%M:%S %Y %Z')
 print(d2)

 print(d1 < d2)
  

Комментарии:

1. Здесь существует невысказанное предположение, что существует согласованный набор сокращений часовых поясов. Его нет. I в IST может означать Индию, но также может означать Ирландию или Израиль.

Ответ №1:

Вы можете ввести GMT или UTC только при использовании %Z . Вместо этого вы можете использовать %z и вводить смещение в часах.

введите описание изображения здесь

Комментарии:

1. хорошо, тогда как сравнивать, когда указаны другие часовые пояса?

2. если вас не волнуют зависимости, вы можете использовать другой модуль, например python-dateutil . В противном случае простым, но громоздким способом было бы создание словаря.