Š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.
- Mes importavome
datetimeklasę išdatetimemodulio. Taip yra todėl, kaddatetimeklasės objektas gali pasiektistrftime()metodą.
datetimeTurintis 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, %xir %Xyra naudojami Lokalės tinkamą datą ir laiką atstovavimo.
Taip pat rekomenduojame patikrinti „Python“ strptime (). strptime()Metodas sukuria datetimeobjektą iš eilutę.








