Python strftime () - дата и час за низ

В тази статия ще се научите да преобразувате обектите дата, час и дата и час в еквивалентния им низ (с помощта на примери)

В strftime()метода връща низ представляващ дата и час с помощта на дата, час или час и дата обект.

Пример 1: datetime към низ чрез strftime ()

Програмата по-долу преобразува 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) 

Когато стартирате програмата, изходът ще бъде нещо като:

 година: 2018 месец: 12 ден: 24 час: 04:59:31 дата и час: 12/24/2018, 04:59:31 

Тук година, ден, час и дата_време са низове, докато сега е datetimeобект.

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

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

  1. Импортирахме datetimeклас от datetimeмодула. Това е така, защото обектът на datetimeкласа може да има достъп до strftime()метод.
  2. В datetimeобекта, съдържащ текущата дата и час се съхранява в предприятието променлива.
  3. В strftime()метод може да се използва за създаване на форматирани струни.
  4. Низът, който предавате на strftime()метода, може да съдържа повече от един формат кодове.

Пример 2: Създаване на низ от времева марка

  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) 

Когато стартирате програмата, изходът ще бъде:

 Обект за дата и час: 2018-06-12 09:55:22 Изход 2: 06/12/2018, 09:55:22 Изход 3: 12 юни, 2018 Изход 4: 12 юни, 2018 Изход 5: 09AM 

Форматиране на списък с кодове

Таблицата по-долу показва всички кодове, които можете да предадете на strftime()метода.

Директива Значение Пример
%a Съкратено име на делничния ден. Слънце, понеделник, …
%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. AM, PM
%M Минута като десетично число, подплатено с нула. 00, 01, …, 59
%-M Минута като десетично число. 0, 1,…, 59
%S Второ като десетично число, подплатено с нула. 00, 01, …, 59
%-S Второ като десетично число. 0, 1,…, 59
%f Микросекунда като десетично число, подплатено с нула вляво. 000000 - 999999
%z UTC отместване във формата + HHMM или -HHMM.
%Z Име на часовата зона.
%j Ден на годината като десетично число, подплатено с нула. 001, 002, …, 366
%-j Ден от годината като десетично число. 1, 2, …, 366
%U Седмичен номер на годината (неделя като първи ден от седмицата). Всички дни в нова година, предшестваща първата неделя, се считат за седмица 0. 00, 01, …, 53
%W Седмичен номер на годината (понеделник като първи ден от седмицата). Всички дни в нова година, предхождаща първия понеделник, се считат за седмица 0. 00, 01, …, 53
%c Подходящото представяне на дата и час на Locale. Понеделник 30 септември 07:06:05 2013
%x Подходящо представяне на дата на Locale. 30.09.13
%X Подходящото представяне на времето на Locale. 07:06:05
%% Буквален знак „%“. %

Пример 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) 

Когато стартирате програмата, изходът ще бъде:

 Изход 1: Вторник, 12 юни 09:55:22 2018 г. Изход 2: 06/12/18 Изход 3: 09:55:22 

Формат кодове %c, %xи %Xсе използват за уместно дата и час представителство на локал е.

Също така ви препоръчваме да проверите strptime на Python (). В strptime()метода създава datetimeобект от низ.

Интересни статии...