Šiame straipsnyje išmoksite konvertuoti datos, laiko ir datos objektus į lygiavertę eilutę (naudodamiesi pavyzdžiais)
strftime()
Metodas grąžina eilutę, atitinkančią datą ir laiką naudojant datą, laiką arba datetime objektą.
1 pavyzdys: datos laikas iki eilutės naudojant strftime ()
Žemiau pateikta programa konvertuoja datetime
objektą, kuriame yra dabartinė data ir laikas, į skirtingus eilutės formatus.
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)
Kai paleisite programą, išvestis bus maždaug tokia:
metai: 2018 mėnuo: 12 diena: 24 laikas: 04:59:31 data ir laikas: 2018 12 24, 04:59:31
Čia metai, diena, laikas ir data_ laikas yra eilutės, o dabar datetime
objektas.
Kaip veikia strftime ()?
Pirmiau pateiktoje programoje %Y
, %m
ir %d
tt yra formato kodai. strftime()
Metodas trunka vieną ar daugiau formato kodus kaip argumentą ir grąžina suformatuoti eilutę remiantis juo.
- Mes importavome
datetime
klasę išdatetime
modulio. Taip yra todėl, kaddatetime
klasės objektas gali pasiektistrftime()
metodą. datetime
Turintis objektas dabartinę datą ir laiką saugomas dabar kintamasis.strftime()
Metodas gali būti naudojama siekiant sukurti suformatuoti eilutes.- Eilėje, kurią perduodate
strftime()
metodui, gali būti daugiau nei vienas formato kodas.
2 pavyzdys: eilutės kūrimas iš laiko žymės
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)
Kai paleisite programą, išvestis bus:
Datos ir laiko objektas: 2018-06-12 09:55:22 2 išėjimas: 2018 12 06, 09:55:22 3 išėjimas, 2018 m. Birželio 12 d., 4 išvestis: 2018 m. Birželio 12 d., Išėjimas 5: 09 AM
Formatuoti kodų sąrašą
Žemiau esančioje lentelėje rodomi visi kodai, kuriuos galite perduoti strftime()
metodui.
Direktyvą | Reikšmė | Pavyzdys |
%a | Sutrumpintas savaitės dienos pavadinimas. | Sekmadienis, pirmadienis,… |
%A | Visas darbo dienos pavadinimas. | Sekmadienis Pirmadienis,… |
%w | Savaitės diena kaip dešimtainis skaičius. | 0, 1,…, 6 |
%d | Mėnesio diena kaip nulinis užpildas po kablelio. | 01, 02,…, 31 |
%-d | Mėnesio diena kaip dešimtainis skaičius. | 1, 2,…, 30 |
%b | Sutrumpintas mėnesio pavadinimas. | Sausis, vasaris,…, gruodis |
%B | Visas mėnesio pavadinimas. | Sausis Vasaris,… |
%m | Mėnuo kaip nulio užpildytas dešimtainis skaičius. | 01, 02,…, 12 |
%-m | Mėnuo kaip dešimtainis skaičius. | 1, 2,…, 12 |
%y | Metai be šimtmečio kaip nulio užpildytas dešimtainis skaičius. | 00, 01,…, 99 |
%-y | Metai be šimtmečio kaip dešimtainis skaičius. | 0, 1,…, 99 |
%Y | Metai su šimtmečiu kaip dešimtainis skaičius. | 2013, 2019 ir kt. |
%H | Valanda (24 valandų laikrodis) kaip nulis užpildytas dešimtainis skaičius. | 00, 01,…, 23 |
%-H | Valanda (24 valandų laikrodis) kaip dešimtainis skaičius. | 0, 1,…, 23 |
%I | Valanda (12 valandų laikrodis) kaip nulis užpildytas dešimtainis skaičius. | 01, 02,…, 12 |
%-I | Valanda (12 valandų laikrodis) kaip dešimtainis skaičius. | 1, 2,… 12 |
%p | Lokalės AM arba PM. | RYTO VAKARO |
%M | Minutė kaip nulio užpildytas dešimtainis skaičius. | 00, 01,…, 59 |
%-M | Minutė kaip dešimtainis skaičius. | 0, 1,…, 59 |
%S | Antras kaip nulis užpildytas dešimtainis skaičius. | 00, 01,…, 59 |
%-S | Antras kaip dešimtainis skaičius. | 0, 1,…, 59 |
%f | Mikrosekundė kaip dešimtainis skaičius, kairėje padengtas nuliu. | 000000 - 999999 |
%z | UTC poslinkis formos + HHMM arba -HHMM forma. | |
%Z | Laiko juostos pavadinimas. | |
%j | Metų diena kaip nulio užpildytas dešimtainis skaičius. | 001, 002,…, 366 |
%-j | Metų diena kaip dešimtainis skaičius. | 1, 2,…, 366 |
%U | Metų savaitės numeris (sekmadienis kaip pirmoji savaitės diena). Visos naujos metų dienos iki pirmojo sekmadienio laikomos 0 savaitę. | 00, 01,…, 53 |
%W | Metų savaitės numeris (pirmadienis kaip pirmoji savaitės diena). Visos naujos metų dienos, einančios prieš pirmąjį pirmadienį, laikomos 0 savaitę. | 00, 01,…, 53 |
%c | Tinkamas lokalės datos ir laiko atvaizdavimas. | 2013 m. Rugsėjo 30 d., 07:06:05 |
%x | Tinkamas lokalės datos pateikimas. | 2013-09-30 |
%X | Tinkamas lokalės laiko reprezentavimas. | 07:06:05 |
%% | Pažodinis „%“ simbolis. | % |
3 pavyzdys: tinkama lokalės data ir laikas
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)
Kai paleisite programą, išvestis bus:
1 išėjimas: antradienis, birželio 12 d. 09:55:22, 2018 m. Išėjimas 2: 12/12/18, 3 išėjimas: 09:55:22
Formatuoti kodus %c
, %x
ir %X
yra naudojami Lokalės tinkamą datą ir laiką atstovavimo.
Taip pat rekomenduojame patikrinti „Python“ strptime (). strptime()
Metodas sukuria datetime
objektą iš eilutę.