У овом чланку ћете научити да конвертујете објекте датума, времена и датума у њихов еквивалентни низ (уз помоћ примера)
strftime()
Метод враћа стринг датум и време представља датум, време или датетиме објекат користи.
Пример 1: датум-време у низ помоћу стрфтиме ()
Програм у наставку претвара 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
објекат.
Како функционише стрфтиме ()?
У наведеном програму, %Y
, %m
, %d
итд су формат кодови. strftime()
Метод узима једну или више формата кодове као аргумент и враћа форматирањем на основу њега.
- Увезли смо
datetime
класу изdatetime
модула. То је зато што објектdatetime
класе може приступитиstrftime()
методи. datetime
Објекат који садржи датум и време се чувају у сада променљива.strftime()
Метод може да се користи за креирање форматиран жице.- Низ који проследите
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: 09АМ
Форматирање листе кодова
Табела испод приказује све кодове које можете проследити 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 | Локални АМ или ПМ. | АМ ПМ |
%M | Записник као нулта тачка децималног броја. | 00, 01,…, 59 |
%-M | Минута као децимални број. | 0, 1,…, 59 |
%S | Друго као децимални број подпуњен нулом. | 00, 01,…, 59 |
%-S | Друго као децимални број. | 0, 1,…, 59 |
%f | Микросекунда као децимални број, са нуле подстављена на левој страни. | 000000 - 999999 |
%z | УТЦ помак у облику + ХХММ или -ХХММ. | |
%Z | Назив временске зоне. | |
%j | Дан у години као децимални број подпуњен нулом. | 001, 002,…, 366 |
%-j | Дан у години као децимални број. | 1, 2,…, 366 |
%U | Број недеље у години (недеља као први дан у недељи). Сви дани у новој години која претходи првој недељи сматрају се недељом 0. | 00, 01,…, 53 |
%W | Број недеље у години (понедељак као први дан у недељи). Сви дани у новој години која претходи првом понедељку сматрају се недељом 0. | 00, 01,…, 53 |
%c | Локално представљање датума и времена. | Мон Сеп 30 07:06:05 2013 |
%x | Локално представљање одговарајућег датума. | 30.09.13 |
%X | Локално прикладно представљање времена. | 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()
Метод креира datetime
објекат из низа.