Я использую linux aws машину, и есть разница во времени, когда я делаю datetime.datetime.now. Таким образом, я попробовал этот метод, чтобы преодолеть ошибку часового пояса
format = "%Y-%m-%d %H:%M:%S %Z%z"
current_date = datetime.datetime.now()
now_asia = current_date.astimezone(timezone('Asia/Kolkata'))
print(now_asia.strftime(format))
, когда я выполняю свою оконную машину, я не получил никакой ошибки. Те же строки, когда я использую в своей машине linux, я получаю «ValueError: astimezone () не может быть применено к наивному дате / времени»
Для отладки я попробовал методы, которые упомянуты в этой ссылке pytz и astimezone () не могут быть применены к наивному datetime
, когда я попробовал первый ответ, я не получаю никакой ошибки, но часовой пояс не преобразован. когда я попробовал второй ответ, я получаю сообщение об ошибке «AttributeError:« модуль »объект не имеет атрибута« utcnow »
Я пытался это
>>>loc_date = local_tz.localize(current_date)
>>> loc_date
datetime.datetime(2020, 4, 6, 7, 23, 36, 702645, tzinfo=<DstTzInfo 'Asia/Kolkata' IST+5:30:00 STD>)
>>> loc_date.strftime(format)
'2020-04-06 07:23:36 IST+05:30'
Я получаю это, поэтому в соответствии с Индийское время, если мы добавим 5:30, это будет правильно. Как мне это сделать.