Этот вопрос закрыт для ответов, так как повторяет вопрос Python Перевести такой формат времени Jun 03 01:15 PM?

Как изменить время из одного часового пояса в другой?

Есть переменная в формате даты которая выводит:
2023-01-02 18:01:23+00:00
При форматировании этой пeременной с помощью функции она как и предполагалась выводит:
format_date = mess_date.strftime("%d-%m-%Y %H:%M")
02-01-2023 18:01:23
Но это в часовом поясе UTC+0 и как перевести это время в UTC+5?
  • Вопрос задан
  • 1490 просмотров
Решения вопроса 1
Denkuwus
@Denkuwus
15 y.o
Можно использовать либру pytz

import pytz
import datetime

# Разобрать исходную строку даты
mess_date = datetime.datetime.strptime("2023-01-02 18:01:23+00:00", "%Y-%m-%d %H:%M:%S%z")

# Установить часовой пояс на UTC+5.
tz = pytz.timezone("Etc/GMT-5")

# Конвертировать время в новый часовой пояс
mess_date_utc5 = tz.normalize(mess_date.astimezone(tz))

# Формат даты в новом часовом поясе
format_date = mess_date_utc5.strftime("%d-%m-%Y %H:%M")

print(format_date)  # На выходе получится: "02-01-2023 18:01"


Код сначала анализирует исходную дату функцией datetime.datetime.strptime(). Затем устанавливает часовой пояс в UTC+5, используя функцию pytz.timezone(). Затем время переводит в новый часовой пояс с помощью astimezone(), а дата форматируется с помощью метода strftime().
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы