Для преобразования даты в строку с часовым поясом в Python можно использовать библиотеки datetime и pytz (или встроенный zoneinfo, начиная с Python 3.9).
Пример:
    from datetime import datetime
    import pytz # или from zoneinfo import ZoneInfo
    # 1. Создаем datetime объект (без timezone или с UTC)
    dt = datetime.utcnow() # или datetime.now(tz=pytz.utc)
    # 2. Устанавливаем нужный часовой пояс
    timezone = pytz.timezone('Europe/Moscow') # или ZoneInfo('Europe/Moscow')
    dt_localized = dt.replace(tzinfo=pytz.utc).astimezone(timezone) # или dt.replace(tzinfo=UTC).astimezone(timezone)
    # 3. Форматируем в строку
    formatted_date = dt_localized.strftime('%Y-%m-%d %H:%M:%S %Z%z')
    print(formatted_date)
  В результате будет строка, представляющая дату и время в указанном часовом поясе.
Важно: Сначала создайте объект datetime, затем добавьте информацию о часовом поясе, и только потом форматируйте в строку.
Преобразование даты в строку с часовым поясом в Python можно выполнить с использованием модуля datetime и pytz (или zoneinfo, начиная с Python 3.9).  pytz предоставляет обширный список часовых поясов.
Вот пример, иллюстрирующий процесс:
 import datetime
 import pytz  # или from zoneinfo import ZoneInfo  (Python 3.9+)
 # 1. Получение объекта datetime.  Можно взять текущее время или создать новый объект.
 now = datetime.datetime.now() # Текущее локальное время (без информации о часовом поясе)
 # или
 # specific_date = datetime.datetime(2023, 10, 27, 10, 30, 0)
 # 2. Указание или преобразование в часовой пояс.  Если datetime объект "naive" (без информации о timezone), нужно его локализовать. Если timezone уже есть, можно конвертировать.
 timezone = pytz.timezone('America/Los_Angeles') # или ZoneInfo("America/Los_Angeles")
 localized_date = timezone.localize(now) #если now - naive
 #или
 #localized_date = now.replace(tzinfo=pytz.utc).astimezone(timezone) #если now уже содержит информацию о часовом поясе, например, UTC
 # 3. Форматирование даты в строку с учетом часового пояса.  Используем метод strftime().
 formatted_date = localized_date.strftime('%Y-%m-%d %H:%M:%S %Z%z')
 print(formatted_date)
 Разберем код:
import datetime: Импортирует модуль datetime для работы с датами и временем.import pytz:  Импортирует модуль pytz для работы с часовыми поясами.  Начиная с Python 3.9, можно использовать from zoneinfo import ZoneInfo вместо pytz.  zoneinfo является частью стандартной библиотеки.datetime.datetime.now():  Возвращает текущее локальное время в виде объекта datetime. Обратите внимание, что этот объект по умолчанию не содержит информации о часовом поясе ("naive").pytz.timezone('America/Los_Angeles'): Создает объект часового пояса для Los Angeles.  Важно выбрать корректный часовой пояс.timezone.localize(now): Локализует объект datetime, то есть присваивает ему указанный часовой пояс. Этот метод используется, когда у исходного объекта datetime нет информации о часовом поясе. Если объект уже имеет timezone, используйте astimezone().localized_date.strftime('%Y-%m-%d %H:%M:%S %Z%z'):  Форматирует объект datetime в строку.  Спецификаторы формата:
    %Y: Год с веком (например, 2023).%m: Месяц как число (01-12).%d: День месяца как число (01-31).%H: Час (00-23).%M: Минута (00-59).%S: Секунда (00-59).%Z: Название часового пояса (например, PST).%z: Смещение UTC (например, -0800).print(formatted_date): Выводит отформатированную строку даты и времени с указанием часового пояса.Важные моменты:
pytz, если используете ее: pip install pytz.strftime() предоставляет гибкие возможности для форматирования даты и времени.  Вы можете использовать различные спецификаторы для получения нужного формата.datetime объект с информацией о часовом поясе, не нужно использовать localize(). Вместо этого используйте astimezone() для конвертации в другой часовой пояс.