Datetime strftime python 3 примеры

Метод strptime() и strftime() в Python

В этой статье вы научитесь создавать объект datetime из строки (с помощью примеров).

Метод strptime() создает объект datetime из заданной строки.

Примечание: Вы не можете создать объект datetime из каждой строки. Строка должна быть в определенном формате.

Пример 1: Строка для объекта datetime

from datetime import datetime date_string = «21 June, 2018» print(«date_string =», date_string) print(«type of date_string =», type(date_string)) date_object = datetime.strptime(date_string, «%d %B, %Y») print(«date_object =», date_object) print(«type of date_object EnlighterJSRAW» data-enlighter-language=»python»>date_string = 21 June, 2018 type of date_string = date_object = 2018-06-21 00:00:00 type of date_object =

Как работает strptime()?

Метод strptime() в Python принимает два аргумента:

На основе используемой строки и кода формата метод возвращает эквивалентный объект datetime.

В приведенном выше примере:

метод strptime()

  • % d ‒ представляет день месяца. Пример: 01, 02, …, 31;
  • % B ‒ полное название месяца. Пример: январь, февраль и т.д.;
  • % Y ‒ год в четырехзначном формате. Пример: 2018, 2019 и т.д.

Пример 2: Строка для объекта datetime

from datetime import datetime dt_string = "12/11/2018 09:15:32" # Considering date is in dd/mm/yyyy format dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S") print("dt_object1 =", dt_object1) # Considering date is in mm/dd/yyyy format dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S") print("dt_object2 EnlighterJSRAW" data-enlighter-language="python">dt_object1 = 2018-11-12 09:15:32 dt_object2 = 2018-12-11 09:15:32

Список кодов форматов

В таблице ниже показаны все коды формата, которые вы можете использовать:

Директива Значение Пример
% a Сокращенное название дня недели. Вс, пн, …
% А Полное название дня недели. Воскресенье понедельник, …
%w День недели в виде десятичного числа. 0, 1, …, 6
% d День месяца в виде десятичной дроби с нулями. 01, 02, …, 31
% -d День месяца в виде десятичного числа. 1, 2, …, 30
% b Сокращенное название месяца. Янв, Фев, …, Дек
% B Полное название месяца. Январь Февраль, …
% m Месяц как десятичное число с нулями. 01, 02, …, 12
% -m Месяц как десятичное число. 1, 2, …, 12
% y Год без века как десятичное число с нулями. 00, 01, …, 99
% -y Год без столетия как десятичное число. 0, 1, …, 99
% Y Год со столетием в виде десятичного числа. 2013, 2019 и т. Д.
%H Час (в 24-часовом формате) как десятичное число с нулями. 00, 01, …, 23
%-H Час (24-часовой формат) как десятичное число. 0, 1, …, 23
%I Час (12-часовой формат) как десятичное число с нулями. 01, 02, …, 12
%-I Час (12-часовой формат) в виде десятичного числа. 1, 2, … 12
%p Локализация AM или PM. до полудня, после полудня
% M Минута в виде десятичного числа с нулями. 00, 01, …, 59
% -M Минута как десятичное число. 0, 1, …, 59
% S Второй — десятичное число с нулями. 00, 01, …, 59
% -S Секунда как десятичное число. 0, 1, …, 59
% f Микросекунда в виде десятичного числа с нулями слева. 000000–999999
%z Смещение UTC в форме + ЧЧММ или -ЧЧММ.
%Z Название часового пояса.
% j День года в виде десятичного числа с нулями. 001, 002, …, 366
% -j День года в виде десятичного числа. 1, 2, …, 366
% U Номер недели в году (воскресенье как первый день недели). Все дни нового года, предшествующие первому воскресенью, считаются нулевой неделей. 00, 01, …, 53
%W Номер недели в году (понедельник как первый день недели). Все дни нового года, предшествующие первому понедельнику, считаются нулевой неделей. 00, 01, …, 53
% c Соответствующее представление даты и времени языкового стандарта. 30 сен, пн, 07:06:05 2013
%x Соответствующее представление даты языкового стандарта. 30.09.13
%X Соответствующее представление времени локали. 07:06:05
%% Буквальный символ «%». %

ValueError

Если строка (первый аргумент) и код формата (второй аргумент), не совпадают, вы получите ValueError. Например:

from datetime import datetime date_string = "12/11/2018" date_object = datetime.strptime(date_string, "%d %m %Y") print("date_object EnlighterJSRAW" data-enlighter-language="python">ValueError: time data '12/11/2018' does not match format '%d %m %Y'

В этой статье вы научитесь преобразовывать объекты даты, времени и даты и времени в эквивалентную строку (с помощью примеров).

Метод strftime() возвращает строку, представляющую дату и время, используя объект date, time или datetime.

Преобразование даты и времени в строку

Приведенная ниже программа преобразует объект, содержащий текущую дату и время, в различные строковые форматы.

from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time)

Когда вы запустите программу, результат будет примерно таким:

year: 2018 month: 12 day: 24 time: 04:59:31 date and time: 12/24/2018, 04:59:31

Здесь год, день, время и date_time ‒ это строки, а now ‒ объект datetime.

Как работает strftime() ?

В приведенной выше программе % Y,% m,% d и т.д. являются кодами формата. Метод strftime() принимает один или несколько кодов формата в качестве аргумента и возвращает отформатированную строку на его основе.

  1. Мы импортировали класс datetime из модуля datetime. Это потому, что объект класса datetime может получить доступ к методу strftime(). Импортировать модуль datetime в Python
  2. Объект datetime, содержащий текущую дату и время, сохраняется в переменной now . объект datetime, содержащий текущую дату и время
  3. Метод можно использовать для создания форматированных строк. Пример Python strftime()
  4. Строка, которую вы передаете методу strftime(), может содержать более одного кода формата. Пример Python strftime()

Создание строки из отметки времени

from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d)

Когда вы запустите программу, вывод будет:

Date time object: 2018-06-12 09:55:22 Output 2: 06/12/2018, 09:55:22 Output 3: 12 Jun, 2018 Output 4: 12 June, 2018 Output 5: 09AM

Пример 3

from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d)

Когда вы запустите программу, вывод будет:

Output 1: Tue Jun 12 09:55:22 2018 Output 2: 06/12/18 Output 3: 09:55:22

Коды формата % c,% x и % X используются для соответствующего языкового стандарта представления даты и времени.

Источник

Читайте также:  Random name generator html
Оцените статью