Tässä artikkelissa opit muuntamaan päivämäärä-, aika- ja päivämääräobjektit vastaavaksi merkkijonoksi (esimerkkien avulla)
strftime()
Metodi palauttaa merkkijonon edustaa päivämäärä ja aika päivämäärä, kellonaika tai päiväys esinettä.
Esimerkki 1: päivämäärä merkkijonoon käyttämällä strftime ()
Alla oleva ohjelma muuntaa datetime
objektin, joka sisältää nykyisen päivämäärän ja kellonajan, eri merkkijonoformaatteihin.
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)
Kun suoritat ohjelmaa, tulos on jotain:
vuosi: 2018 kuukausi: 12 päivä: 24 aika: 04:59:31 päivämäärä ja aika: 24/12/2018, 04:59:31
Tässä vuosi, päivä, aika ja päivämäärä_aika ovat merkkijonoja, kun taas nyt datetime
objekti.
Kuinka strftime () toimii?
Yllä olevassa ohjelmassa %Y
, %m
, %d
jne ovat muotoa koodeja. strftime()
Menetelmä ottaa yhden tai useamman muodossa koodeja argumentiksi ja palauttaa alustettu merkkijonon sen pohjalta.
- Tuodun
datetime
luokandatetime
moduulista. Se johtuu siitä, ettädatetime
luokan kohde voi käyttäästrftime()
menetelmää. datetime
Sisältävä esine nykyinen päivämäärä ja kellonaika tallennetaan nyt muuttujaan.strftime()
Menetelmää voidaan käyttää luomaan alustettu jousille.- Menetelmään välittämä merkkijono
strftime()
voi sisältää useamman kuin yhden muotoilukoodin.
Esimerkki 2: Merkkijonon luominen aikaleimasta
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)
Kun suoritat ohjelmaa, tulos on:
Päivämäärä ja aika -objekti: 2018-06-12 09:55:22 Lähtö 2: 06/12/2018, 09:55:22 Lähtö 3: 12 kesäkuu, 2018 Lähtö 4: 12 kesäkuu, 2018 Lähtö 5: 09AM
Alusta koodiluettelo
Alla oleva taulukko näyttää kaikki koodit, jotka voit välittää strftime()
menetelmälle.
Direktiivi | Tarkoitus | Esimerkki |
%a | Lyhennetty arkipäivän nimi. | Su, ma… |
%A | Koko viikonpäivän nimi. | Sunnuntai maanantai,… |
%w | Viikonpäivä desimaalilukuna. | 0, 1,…, 6 |
%d | Kuukauden päivä nollapehmustettuna desimaalina. | 01, 02,…, 31 |
%-d | Kuukauden päivä desimaalilukuna. | 1, 2,…, 30 |
%b | Lyhennetty kuukauden nimi. | Tammi, helmikuu,…, joulu |
%B | Koko kuukauden nimi. | Tammikuu helmikuu,… |
%m | Kuukausi nollalla täytetty desimaaliluku. | 01, 02,…, 12 |
%-m | Kuukausi desimaalilukuna. | 1, 2,…, 12 |
%y | Vuosi ilman vuosisataa nollapehmustettuna desimaalilukuna. | 00, 01,…, 99 |
%-y | Vuosi ilman vuosisataa desimaaliluvuna. | 0, 1,…, 99 |
%Y | Vuosi vuosisadalla desimaalilukuna. | 2013, 2019 jne. |
%H | Tunnit (24 tunnin kello) nollapehmustettuna desimaalilukuna. | 00, 01,…, 23 |
%-H | Tunti (24 tunnin kello) desimaalilukuna. | 0, 1,…, 23 |
%I | Tunnit (12 tunnin kello) nollapehmustettuna desimaalilukuna. | 01, 02,…, 12 |
%-I | Tunti (12 tunnin kello) desimaalilukuna. | 1, 2,… 12 |
%p | Kielen AM tai PM. | AAMUPÄIVÄ ILTAPÄIVÄ |
%M | Minuutti nollapehmustettu desimaaliluku. | 00, 01,…, 59 |
%-M | Minuutti desimaalilukuna. | 0, 1,…, 59 |
%S | Toinen on nollapehmustettu desimaaliluku. | 00, 01,…, 59 |
%-S | Toinen desimaalilukuna. | 0, 1,…, 59 |
%f | Mikrosekunnin desimaaliluku, nollapehmustettu vasemmalla. | 000000 - 999999 |
%z | UTC-offset muodossa + HHMM tai -HHMM. | |
%Z | Aikavyöhykkeen nimi. | |
%j | Vuoden päivä nollapehmustettuna desimaalilukuna. | 001, 002,…, 366 |
%-j | Vuoden päivä desimaalilukuna. | 1, 2,…, 366 |
%U | Vuoden viikkonumero (sunnuntai viikon ensimmäisenä päivänä). Ensimmäistä sunnuntaia edeltävän uuden vuoden kaikkien päivien katsotaan olevan viikolla 0. | 00, 01,…, 53 |
%W | Vuoden viikkonumero (maanantai viikon ensimmäisenä päivänä). Kaikkia ensimmäistä maanantaina edeltävän uuden vuoden päiviä pidetään viikolla 0. | 00, 01,…, 53 |
%c | Kielen sopiva päivämäärä- ja kellonaikaesitys. | Ma 30. syyskuuta 07:06:05 2013 |
%x | Kielen sopiva päivämääräesitys. | 30.9.2013 |
%X | Kielen sopiva aikaesitys. | 07:06:05 |
%% | Kirjaimellinen '%' merkki. | % |
Esimerkki 3: Kielen sopiva päivämäärä ja kellonaika
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)
Kun suoritat ohjelmaa, tulos on:
Lähtö 1: Ti 12. kesäkuuta 09:55:22 2018 Lähtö 2: 12.12.2018 Lähtö 3: 09:55:22
Muotoile koodit %c
, %x
ja %X
niitä käytetään kielen sopivaan päivämäärän ja ajan esitykseen.
Suosittelemme myös tarkistamaan Python-strptime (). strptime()
Menetelmä luo datetime
objektin merkkijono.