Автор оригинала: Pankaj Kumar.
Функция Python STRFTIME () присутствует в модулях DateTime и Time для создания строкового представления на основе указанной строки формата.
Python Strftime ()
- Функция модуля Python TateTime модуль STRFTIME () Функция модуля времени () ведет себя точно так же. Однако их синтаксис немного отличается.
Модуль Python DateTime Module STRFTIME () Функциональный синтаксис:
Модуль времени Python STRFTIME () Функциональный синтаксис:
Эта функция преобразует объект кортежа или struction_time в строку, как указано в аргументе формата. Если используется «time_Object», используется точное время, возвращаемое по локальному времени (). Аргумент формата должен быть строкой.
- Для объектов времени (TateTime.time ()), коды формата за год, месяц и день не должны использоваться, поскольку объекты времени не имеют таких ценностей. Если они используются в любом случае, 1900 заменит в течение года, а 1 за месяц и день.
- Для объектов даты (DateTime.date ()), коды формата в течение нескольких часов, минут, секунд и микросекунды не должны использоваться, поскольку объекты даты не имеют таких ценностей. Если они используются в любом случае, 0 заменит их.
Директивы форматирования формата Python Strftime ()
В следующую таблицу выключаются наиболее часто используемые директивы форматирования, которые могут использоваться в строке формата.
% а. | Недели как сокращенное имя локали. | Солнце, пн, …, сел (en_us) Итак, мо, …, SA (de_de) |
% А. | Недели как полное имя локали. | Воскресенье, понедельник, …, суббота (EN_US) Sonntag, Montag, …, Samstag (De_de) |
% w. | Недели в качестве десятичного числа, где 0 – воскресенье и 6 суббота. | 0, 1, 2, 3, 4, 5, 6 |
% D. | День месяца как нулевой десятичный номер. | 01, 02, …, 31 |
% B. | Месяц как сокращенное имя локали. | Ян, Фев, …, Дека (EN_US) Ян, Фев, …, Дез (de_de) |
% B. | Месяц как полное имя локали. | Январь, февраль, …, декабрь (en_us) januar, februar, …, dezember (de_de) |
% М. | Месяц как нулевой десятичный номер. | 01, 02 … 12 |
% Y. | Год без века как нулевой десятичный номер. | 01, 02, … 99 |
% Y. | Год с веком как десятичное число. | 0001, 0002, …, 9999 |
%ЧАС | Час (24-часовые часы) в качестве нулевого десятичного числа. | 01, 02, …, 23 |
%Я | Час (12-часовые часы) в качестве нулевого десятичного числа. | 01, 02, …, 12 |
%п | Эквивалент локалии либо AM или PM. | AM, PM (EN_US) AM, PM (de_de) |
% М. | Минута в качестве нулевого десятичного числа. | 01, 02, …, 59 |
% S. | Второе как нулевое десятичное число. | 01, 02, …, 59 |
% f. | Microcond в качестве десятичного числа, нулевой навесной слева. | 000000, 000001, …, 999999 Не применимо со временем модуль. |
% Z. | Смещение UTC в виде ± HHMM [SS] (пустая строка, если объект наивен). | (пусто), +0000, -0400, +1030 |
% Z. | Имя часового пояса (пустая строка, если объект наивен). | (пустой), UTC, IST, CST |
% j | День года как нулевой десятичный номер. | 001, 002, …, 366 |
% U. | Неделя номер года (воскресенье как первый день недели) как нулевое мягкое десятичное число. Все дни в новом году, предшествующим первым воскресенье, считаются в неделю 0. | 00, 01, …, 53 |
% W. | Неделю номер года (понедельник как первый день недели) как десятичное число. Все дни в новом году, предшествующим первым понедельник, считаются в неделю 0. | 00, 01, …, 53 |
% C. | Соответствующее представление о дате и времени Локали. | TEUG 16 21:30:00 1988 (EN_US) DI 16 августа 21:30:00 1988 (de_de) |
%Икс | Соответствующее представление о дате имени Локалии. | 08/16/88 (нет) 08/16/1988 (en_us) 16.08.1988 (de_de) |
%ИКС | Соответствующее время свободного времени. | 21:30:00 (en_us) 21:30:00 (de_de) |
%% | Буквальный «%» характер. | % |
Пример Python Strftime ()
Модуль DateTime
Давайте посмотрим на некоторые примеры использования функции strftime () с модулем DateTime.
import datetime dt = datetime.datetime.now() print('DateTime in Default Formatting:', dt) print('Formatted DateTime', dt.strftime("%m/%d/%y %H:%M:%S")) print("Current year:", dt.strftime("%Y")) print("Month of year:", dt.strftime("%B")) print("Week number of the year:", dt.strftime("%W")) print("Weekday of the week:", dt.strftime("%w")) print("Day of year:", dt.strftime("%j")) print("Day of the month:", dt.strftime("%d")) print("Day of week:", dt.strftime("%A"))
Выход:
DateTime in Default Formatting: 2018-09-17 12:10:48.081992 Formatted DateTime 09/17/18 12:10:48 Current year: 2018 Month of year: September Week number of the year: 38 Weekday of the week: 1 Day of year: 260 Day of the month: 17 Day of week: Monday
модуль времени
import time seconds = time.time() t = time.localtime(seconds) print('Time struct_time object:', t) print('Time object with pre-defined formatting:', time.asctime(t)) print('Formatted Time:', time.strftime("%m/%d/%y %H:%M:%S", t)) print("Current year:", time.strftime("%Y", t)) print("Month of year:", time.strftime("%B", t)) print("Week number of the year:", time.strftime("%W", t)) print("Weekday of the week:", time.strftime("%w", t)) print("Day of year:", time.strftime("%j", t)) print("Day of the month:", time.strftime("%d", t)) print("Day of week:", time.strftime("%A", t))
Часовой пояс
Мы знаем, что объект dateTime dateitime не имеет информации о часовой зоне, давайте посмотрим, каков вывод, если мы попытаемся распечатать свой часовой пояс.
print("TimeZone:", dt.strftime("%Z"))
Выход: Часовой пояс:
Давайте посмотрим на вывод со временным модулем объекта.
print("TimeZone:", time.strftime("%Z", t))
Выход: Часовой пояс: IST.
Мы можем использовать модуль PYTZ, чтобы создать объект TimeZone Aware TateTime.
import pytz utc = pytz.utc dt = datetime.datetime.now(utc) print("TimeZone:", dt.strftime("%Z"))
Выход: Часовой пояс: UTC
Ссылки: datetime strftime () , Время платье ()