I denne artikkelen lærer du å konvertere dato, klokkeslett og datetime-objekter til tilsvarende streng (ved hjelp av eksempler)
Den strftime()
metoden returnerer en streng som representerer dato og tid ved hjelp av dato, tid eller datetime objekt.
Eksempel 1: datetime to string using strftime ()
Programmet nedenfor konverterer et datetime
objekt som inneholder nåværende dato og klokkeslett til forskjellige strengformater.
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)
Når du kjører programmet, vil utdataene være som:
år: 2018 måned: 12 dag: 24 tid: 04:59:31 dato og tid: 12/24/2018, 04:59:31
Her er år, dag, tid og dato_tid strenger, mens det nå er et datetime
objekt.
Hvordan fungerer strftime ()?
I ovennevnte programmet %Y
, %m
, %d
etc. er formatkoder. Den strftime()
metoden tar ett eller flere til formatkoder som et argument og returnerer en formatert streng basert på den.
- Vi importerte
datetime
klasse fradatetime
modulen. Det er fordi objektet tildatetime
klassen kan få tilgang tilstrftime()
metoden. - Det
datetime
objekt som inneholder aktuelle dato og tid er lagret i nå variabel. - Den
strftime()
metoden kan brukes til å lage formaterte strenger. - Strengen du sender til
strftime()
metoden kan inneholde mer enn ett formatkoder.
Eksempel 2: Opprette streng fra et tidsstempel
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)
Når du kjører programmet, vil utdataene være:
Dato tid objekt: 2018-06-12 09:55:22 Utgang 2: 06/12/2018, 09:55:22 Utgang 3: 12 Jun, 2018 Utgang 4: 12 juni, 2018 Utgang 5: 09AM
Format kodeliste
Tabellen nedenfor viser alle kodene du kan gi til strftime()
metoden.
Direktiv | Betydning | Eksempel |
%a | Forkortet navn på ukedag. | Søn, man, … |
%A | Fullt ukedagsnavn. | Søndag Mandag,… |
%w | Ukedag som desimaltall. | 0, 1,…, 6 |
%d | Månedens dag som en null-polstret desimal. | 01, 02,…, 31 |
%-d | Månedens dag som et desimaltall. | 1, 2,…, 30 |
%b | Forkortet månedsnavn. | Jan, Feb,…, Des |
%B | Fullt månedsnavn. | Januar februar,… |
%m | Måned som et null-polstret desimaltall. | 01, 02,…, 12 |
%-m | Måned som desimaltall. | 1, 2,…, 12 |
%y | År uten århundre som et null-polstret desimaltall. | 00, 01,…, 99 |
%-y | År uten århundre som desimaltall. | 0, 1,…, 99 |
%Y | År med århundre som desimaltall. | 2013, 2019 etc. |
%H | Time (24-timers klokke) som et null-polstret desimaltall. | 00, 01,…, 23 |
%-H | Time (24-timers klokke) som et desimaltall. | 0, 1,…, 23 |
%I | Time (12-timers klokke) som et null-polstret desimaltall. | 01, 02,…, 12 |
%-I | Time (12-timers klokke) som et desimaltall. | 1, 2,… 12 |
%p | Lokalens AM eller PM. | MORGEN KVELD |
%M | Minutt som et desimaltall uten polstring. | 00, 01,…, 59 |
%-M | Minutt som desimaltall. | 0, 1,…, 59 |
%S | Andre som et null-polstret desimaltall. | 00, 01,…, 59 |
%-S | Andre som et desimaltall. | 0, 1,…, 59 |
%f | Mikrosekund som et desimaltall, nullpolstret til venstre. | 000000 - 999999 |
%z | UTC-forskyvning i form + HHMM eller -HHMM. | |
%Z | Tidssone navn. | |
%j | Årets dag som et nullpolstret desimaltall. | 001, 002,…, 366 |
%-j | Årets dag som desimaltall. | 1, 2,…, 366 |
%U | Årets ukenummer (søndag som første ukedag). Alle dager i et nytt år før den første søndagen regnes som å være i uke 0. | 00, 01,…, 53 |
%W | Ukens nummer på året (mandag som første ukedag). Alle dager i et nytt år som går før den første mandagen regnes som i uke 0. | 00, 01,…, 53 |
%c | Lokalitetens passende dato og klokkeslettrepresentasjon. | Man 30. september 07:06:05 2013 |
%x | Lokalens passende datorepresentasjon. | 09/30/13 |
%X | Lokalens passende tidsrepresentasjon. | 07:06:05 |
%% | En bokstavelig '%' karakter. | % |
Eksempel 3: Lokalens passende dato og klokkeslett
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)
Når du kjører programmet, vil utdataene være:
Utgang 1: Tirsdag 12 juni 09:55:22 2018 Utgang 2 06.06.12 Utgang 3 09:55:22
Formater koder %c
, %x
og %X
brukes til stedets passende dato og klokkeslettrepresentasjon.
Vi anbefaler deg også å sjekke Python strptime (). Den strptime()
metoden skaper et datetime
objekt fra en streng.