Python strftime () - datos laikas iki eilutės

Š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 datetimeobjektą, 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 datetimeobjektas.

Kaip veikia strftime ()?

Pirmiau pateiktoje programoje %Y, %mir %dtt yra formato kodai. strftime()Metodas trunka vieną ar daugiau formato kodus kaip argumentą ir grąžina suformatuoti eilutę remiantis juo.

  1. Mes importavome datetimeklasę iš datetimemodulio. Taip yra todėl, kad datetimeklasės objektas gali pasiekti strftime()metodą.
  2. datetimeTurintis objektas dabartinę datą ir laiką saugomas dabar kintamasis.
  3. strftime()Metodas gali būti naudojama siekiant sukurti suformatuoti eilutes.
  4. 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, %xir %Xyra naudojami Lokalės tinkamą datą ir laiką atstovavimo.

Taip pat rekomenduojame patikrinti „Python“ strptime (). strptime()Metodas sukuria datetimeobjektą iš eilutę.

Įdomios straipsniai...