Чтобы понять, какой часовой пояс отображён в строке с датой и временем, необходимо преобразовать эту строку. Вы можете запустить приложение на сервере и получить дату и время с часовым поясом в виде строк. В этот момент ваш сервер должен знать, как работать с этими строками.

Для этого нужна функция, которая преобразует строки в объекты datetime и сохраняет их в базе данных.

В Python для преобразования строки в дату и время с указанием часового пояса используется модуль datetime. Этот модуль содержит различные функции для работы с датами и временем, такие как форматирование значений, добавление часового пояса и получение текущей даты и времени.

Чтобы преобразовать строку в дату и время с указанием часового пояса, необходимо использовать функцию strptime() из модуля datetime. Эта функция преобразует строку в объект datetime.

С использованием функции strptime()

Прежде чем перейти к преобразованию строки в дату и время, давайте рассмотрим функцию strptime(). Эта функция, доступная в модуле datetime, позволяет преобразовывать строку в объект datetime.

Синтаксис:

strptime(string_date, format)

Где:

  • strptime(): функция принимает строку и преобразует ее в объект datetime.
  • string_date: строка содержит дату и часовой пояс, которые вы хотите преобразовать в объект datetime.
  • format: это шаблон даты и времени. Он состоит из индивидуального кода, который представляет часть даты, такую как год, месяц, день, час, секунда, минута, включая данные часового пояса.

Таблица форматов приведена ниже.

Дата и время с частями часового пояса Значение
%Y Это обозначает год всеми четырьмя цифрами, например «2025» или «2030».
Этот спецификатор представляет месяц с помощью двух цифр(при необходимости с ведущим нулем) в диапазоне от «01» до «12».
%b Представляет месяц с использованием сокращенного имени в соответствии с языковым стандартом, например «Jan» для января, «Feb» для февраля и т. д. до «Dec» для декабря.
%d Этот описатель формата предназначен для дня месяца и использует две цифры, включая при необходимости начальный ноль, от «01» до «31».
%H Используется для обозначения часа в 24-часовом формате, а также, при необходимости, использует две цифры с ведущим нулем, от «00» до «23».
%I Это представляет час в 12-часовом формате, при необходимости снова используя две цифры с ведущим нулем, от «01» до «12».
%M Это для минут, при необходимости используются две цифры с ведущим нулем в диапазоне от «00» до «59».
%S Он используется для секунд в том же двухзначном формате с добавлением нулей: от «00» до «59».
%f Обозначает микросекунды, представленные в виде шестизначного числа, дополненного нулями слева, от «000000» до «999999».
%p Представляет соглашение языкового стандарта для AM или PM, которое может отображаться в верхнем регистре(«AM», «PM») или нижнем регистре(«am», «pm»), в зависимости от настроек языкового стандарта.
%z Он представляет собой смещение часового пояса от UTC(всеобщего координированного времени) в формате ±ЧЧММ или ±ЧЧ:ММ.

Например, давайте узнаем текущее время системы с помощью модуля datetime.

Сначала импортируйте модуль datetime в среду Python, как показано в коде ниже.

from datetime import datetime

Чтобы получить текущее время, вызовите функцию now() из даты и времени, как показано в коде ниже.

print(datetime.now())

Проверка того, как использовать модуль Datetime перед преобразованием строки Python в Datetime

Как вы можете видеть, функция now() модуля datetime возвращает текущие дату и время из моей системы.

Для этого вы можете использовать модуль datetime. Давайте вернёмся к преобразованию строки в объект datetime с указанием часового пояса.

Например, у вас есть строка, содержащая дату и время с часовым поясом, как «2024-09-27 12:15:06.003437 +0530, это дата и время с часовым поясом, чтобы преобразовать ее в объект Python datetime, передайте ее в функцию strptime(), как показано в коде ниже.

from datetime import datetime

date_with_timezone = "2024-09-27 12:15:06.003437 +0530"
format = "%Y-%m-%d %H:%M:%S.%f %z"

datetime_object_with_timezone = datetime.strptime(date_with_timezone, format)

print(datetime_object_with_timezone)

с использованием функции strptime()

Обратите внимание, что строка, содержащая дату и время, преобразуется в объекты даты и времени с учётом часового пояса.

Давайте рассмотрим части кода более подробно. Сначала мы определяем дату и время с часовым поясом: date_with_timezone = «2024-09-27 12:15:06.003437 +0530». Затем указываем формат для преобразования строки в объект datetime: format = «%Y-%m-%d%H:%M:%S.%f%z».

Этот формат включает спецификатор, который представляет часть даты и времени с часовыми поясами, такие как год или месяц. Вы могли увидеть эти форматы в таблице выше.

После этого мы передаём дату и время с часовым поясом, а также формат, в функцию strptime(). Функция анализирует заданную дату и время с учётом часового пояса и преобразует их в объекты даты и времени с использованием указанного шаблона: datetime.strptime(date_with_timezone, формат).

В результате он возвращает дату и время Python с объектом часового пояса, который имеет вид «2024-09-27 12:15:06.003437+05:30».

Заключение

В этом руководстве по Python вы узнали, как преобразовать строку Python в дату и время с часовым поясом, используя функцию strptime() модуля datetime. Вы также узнали, как и для каких целей используется модуль datetime.

Добавить комментарий