strptime() це інший метод, доступний у DateTime, який використовується для форматування мітки часу, яка має рядковий формат, до об’єкта дата-час.
Синтаксис : datetime.strptime(time_data, format_data)
Параметр:
- time_data — це час у форматі рядка
- format_data — це дані у форматі datetime, які перетворюються з time_data за допомогою цієї функції.
Як працює strptime()?
Ця функція приймає два аргументи: рядок, у якому вказано деякий час, і код формату, щоб змінити рядок, рядок змінюється на об’єкт DateTime відповідно до списку кодів, поданого нижче.
Формат кодів
код формату | значення | приклад |
---|---|---|
%a | Скорочена назва дня тижня | Сонце, моє |
%A | Повна назва дня тижня | неділя, понеділок |
% вхід | День тижня як десяткове число | 0…6 |
%d | День місяця як десяткова кома з доповненням нулем | 01, 02 |
%-d | день місяця як десяткове число | 1, 2.. |
%b | Скорочена назва місяця | січ, лют |
%м | місяць як десяткове число, доповнене нулем | 01, 02 |
%-м | місяць як десяткове число | 1, 2 |
%B | Повна назва місяця | Січень лютий |
% і | рік без століття як нульове десяткове число | 99,00 |
%-і | рік без століття як десяткове число | 0,99 |
%І | рік із століттям як десяткове число | 2000, 1999 |
%H | година (24-годинний годинник) як десяткове число, доповнене нулем | 01, 23 |
%-H | година (24-годинний годинник) як десяткове число | 1, 23 |
%I | година (12-годинний годинник) як десяткове число, доповнене нулем | 01, 12 |
%-I | година (12-годинний годинник) як десяткове число | 1, 12 |
%p | місцевості до ранку або ввечері | ДООБІДУ, ПІСЛЯ ОБІДУ |
%M | Хвилина як десяткове число з доповненням нуля | 01, 59 |
%-M | Хвилина як десяткове число | 1, 59 |
%S | Секунда як десяткове число, доповнене нулем | 01, 59 |
%-S | Секунда як десяткове число | 1, 59 |
%f | мікросекунда як десяткове число, ліворуч доданий нуль | 000000, 999999 |
%З | Зміщення UTC у формі +ГГХМ або -ГГХМ | |
%З | Назва часового поясу | |
%j | день року як десяткове число, доповнене нулем | 001, 365 |
%-j | день року у вигляді десяткового числа | 1, 365 |
%IN | Номер тижня року (першою є неділя) | 0, 6 |
%IN | Номер тижня року | 00, 53 |
%c | відповідне представлення дати та часу в локалі | Пн, 30 вересня 07:06:05 2013 р |
%x | відповідне представлення дати локалі | 30.11.98 |
%X | відповідне представлення часу локалі | 10:03:43 |
%% | Буквальний символ «%». | % |
приклад 1: Програма Python для читання дати й часу та отримання даних про весь час за допомогою strptime. Тут ми візьмемо дані про час у форматі рядків і витягнемо години, хвилини, секунди та мілісекунди
Python3
бінарне дерево в порядку обходу
# import datetime module from datetime> from> datetime> import> datetime> # consider the time stamp in string format> # DD/MM/YY H:M:S.micros> time_data> => '25/05/99 02:35:5.523'> # format the string in the given format :> # day/month/year hours/minutes/seconds-micro> # seconds> format_data> => '%d/%m/%y %H:%M:%S.%f'> # Using strptime with datetime we will format> # string into datetime> date> => datetime.strptime(time_data, format_data)> # display milli second> print> (date.microsecond)> # display hour> print> (date.hour)> # display minute> print> (date.minute)> # display second> print> (date.second)> # display date> print> (date)> |
>
>
Вихід:
523000
2
35
5
1999-05-25 02:35:05.523000
приклад 2: Код Python, який використовує strptime. Тут ми візьмемо дані про час у форматі рядка та витягнемо позначку часу у форматі %d/%m/%y %H:%M:%S.%f.
Python3
# import datetime module from datetime> from> datetime> import> datetime> # consider the time stamps from a list in string> # format DD/MM/YY H:M:S.micros> time_data> => [> '25/05/99 02:35:8.023'> ,> '26/05/99 12:45:0.003'> ,> > '27/05/99 07:35:5.523'> ,> '28/05/99 05:15:55.523'> ]> # format the string in the given format : day/month/year> # hours/minutes/seconds-micro seconds> format_data> => '%d/%m/%y %H:%M:%S.%f'> # Using strptime with datetime we will format string> # into datetime> for> i> in> time_data:> > print> (datetime.strptime(i, format_data))> |
>
>
Вихід:
1999-05-25 02:35:08.023000
1999-05-26 12:45:00.003000
1999-05-27 07:35:05.523000
1999-05-28 05:15:55.523000
ми можемо отримати час, який слідує за структурою з усіма датами, використовуючи сам strptime().
Синтаксис :
time.strptime(Мітка часу, ‘%d/%m/%y %H:%M:%S’)
де Timestamp містить час і дату
наскільки великий екран мого комп'ютера
приклад : Код Python для отримання часу в структурі:
Python3
#import time> import> time> # get data of 4 th april 2021 at time 9 pm> print> (time.strptime(> '04/04/21 09:31:22'> ,> '%d/%m/%y %H:%M:%S'> ))> # get data of 5 th april 2021 at time 9 pm> print> (time.strptime(> '05/04/21 09:00:42'> ,> '%d/%m/%y %H:%M:%S'> ))> # get data of 6 th april 2021 at time 9 pm> print> (time.strptime(> '06/04/21 09:11:42'> ,> '%d/%m/%y %H:%M:%S'> ))> # get data of 7 th april 2021 at time 9 pm> print> (time.strptime(> '07/04/21 09:41:12'> ,> '%d/%m/%y %H:%M:%S'> ))> |
>
>
Вихід:
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=4, tm_hour=9, tm_min=31, tm_sec=22, tm_wday=6, tm_yday=94, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=5, tm_hour=9, tm_min=0, tm_sec=42, tm_wday=0, tm_yday=95, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=6, tm_hour=9, tm_min=11, tm_sec=42, tm_wday=1, tm_yday=96, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=7, tm_hour=9, tm_min=41, tm_sec=12, tm_wday=2, tm_yday=97, tm_isdst=-1)
Також можна отримати рядок дата-час у форматі дати-часу рррр-мм-дд. рррр-мм-дд означає рік-місяць-день. Ми можемо конвертувати рядковий формат у DateTime за допомогою функції strptime(). Ми будемо використовувати формат «%Y/%m/%d», щоб отримати рядок дати та часу.
Синтаксис: datetime.datetime.strptime(введення,формат)
Параметр:
- введенням є рядок datetime
- формат – це формат – «рррр-мм-дд»
- datetime є модулем
Для цього спочатку імпортується модуль і надається вхідний рядок DateTime. Тепер використовуйте strptime, щоб отримати необхідний формат і отримати дату з DateTime за допомогою функції date().
Приклад 1 : Програма на Python для перетворення рядкового формату дати й часу на дату й час
сортування вставкою в java
Python3
# import the datetime module> import> datetime> # datetime in string format for may 25 1999> input> => '2021/05/25'> # format> format> => '%Y/%m/%d'> # convert from string format to datetime format> datetime> => datetime.datetime.strptime(> input> ,> format> )> # get the date from the datetime using date()> # function> print> (datetime.date())> |
>
>
Вихід:
2021-05-25
приклад 2: Перетворити список рядка datetime на datetime
Python3
просте число java
# import the datetime module> import> datetime> # datetime in string format for list of dates> input> => [> '2021/05/25'> ,> '2020/05/25'> ,> '2019/02/15'> ,> '1999/02/4'> ]> # format> format> => '%Y/%m/%d'> for> i> in> input> :> > > # convert from string format to datetime format> > # and get the date> > print> (datetime.datetime.strptime(i,> format> ).date())> |
>
>
Вихід:
2021-05-25
2020-05-25
2019-02-15
1999-02-04
Ми також можемо відображати DateTime в %d/%m/%Y %H:%M:%S Формат. Для цього ми збираємося отримати дані у форматі дата-місяць-рік години:хвилини;секунди. Тож нам потрібно взяти вхідний рядок дати й часу й отримати цей формат
Синтаксис: datetime.strptime(дата_введення, %d/%m/%Y %H:%M:%S)
Параметр:
- datetime є модулем
- input_date — це формат рядка дати й часу
- strptime використовується для перетворення рядка input_date у datetime
приклад 3: Програма Python для отримання рядка дата-час у форматі %d/%m/%Y %H:%M:%S
Python3
#import datetime> from> datetime> import> datetime> # consider the datetime string in dd/mm/yyyy> # hh:mm:ss format> date> => '25/05/2021 02:35:15'> # convert string datetime to dd/mm/yyyy hh:mm:ss> # format> datetime_date> => datetime.strptime(date,> '%d/%m/%Y %H:%M:%S'> )> print> (datetime_date)> |
>
>
Вихід:
2021-05-25 02:35:15