В тази статия ще се научите да преобразувате обектите дата, час и дата и час в еквивалентния им низ (с помощта на примери)
В 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()метод отнема един или повече кодове формат като аргумент и връща форматиран низ въз основа на нея.
- Импортирахме 
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: 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обект от низ.








