I den här artikeln lär du dig att konvertera datum, tid och datetime-objekt till motsvarande sträng (med hjälp av exempel)
Den strftime()
metoden returnerar en sträng som representerar datum och tid med hjälp av datum, tid eller datetime objekt.
Exempel 1: datetime till sträng med strftime ()
Programmet nedan konverterar ett datetime
objekt som innehåller aktuellt datum och tid till olika strängformat.
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 kör programmet kommer resultatet att vara ungefär som:
år: 2018 månad: 12 dag: 24 tid: 04:59:31 datum och tid: 12/24/2018, 04:59:31
Här är år, dag, tid och datum_tid strängar, medan nu är ett datetime
objekt.
Hur fungerar strftime ()?
I ovanstående program, %Y
, %m
, %d
etc. är formatkoder. Den strftime()
metod tar en eller flera formatkoder som ett argument och returnerar en formaterad sträng baserat på den.
- Vi importerade
datetime
klass fråndatetime
modulen. Det beror på att objektet idatetime
klassen kan komma åtstrftime()
metoden. - Den
datetime
objekt som innehåller aktuellt datum och tid sparas i nu variabel. - Den
strftime()
metoden kan användas för att skapa formaterade strängar. - Strängen du skickar till
strftime()
metoden kan innehålla mer än ett formatkoder.
Exempel 2: Skapa sträng från en tidsstämpel
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 kör programmet blir resultatet:
Datum tidsobjekt: 2018-06-12 09:55:22 Output 2: 06/12/2018, 09:55:22 Output 3: 12 Jun, 2018 Output 4: 12 June, 2018 Output 5: 09AM
Formatera kodlista
Tabellen nedan visar alla koder som du kan skicka till strftime()
metoden.
Direktiv | Menande | Exempel |
%a | Förkortat veckodagsnamn. | Sön, må, … |
%A | Hela veckodagens namn. | Söndag måndag,… |
%w | Veckodag som ett decimaltal. | 0, 1,…, 6 |
%d | Månadens dag som ett nollpolstrat decimal. | 01, 02,…, 31 |
%-d | Månadens dag som ett decimaltal. | 1, 2,…, 30 |
%b | Förkortat månadsnamn. | Jan, feb, …, dec |
%B | Hela månadens namn. | Januari februari,… |
%m | Månad som ett nollpolstrat decimaltal. | 01, 02,…, 12 |
%-m | Månad som decimaltal. | 1, 2,…, 12 |
%y | År utan århundrade som ett nollpolstrat decimaltal. | 00, 01,…, 99 |
%-y | År utan århundrade som decimaltal. | 0, 1,…, 99 |
%Y | År med århundrade som decimaltal. | 2013, 2019 etc. |
%H | Timme (24-timmarsur) som ett nollpolstrat decimaltal. | 00, 01,…, 23 |
%-H | Timme (24-timmarsur) som ett decimaltal. | 0, 1, …, 23 |
%I | Timme (12-timmarsur) som ett nollpolstrat decimaltal. | 01, 02,…, 12 |
%-I | Timme (12-timmarsur) som ett decimaltal. | 1, 2, … 12 |
%p | Lokalens AM eller PM. | AM PM |
%M | Minut som ett nollpolstrat decimaltal. | 00, 01,…, 59 |
%-M | Minut som decimaltal. | 0, 1,…, 59 |
%S | För det andra som ett nollpolstrat decimaltal. | 00, 01,…, 59 |
%-S | För det andra som ett decimaltal. | 0, 1,…, 59 |
%f | Mikrosekund som ett decimaltal, nollpolstrat till vänster. | 000000 - 999999 |
%z | UTC-förskjutning i form + HHMM eller -HHMM. | |
%Z | Tidszonens namn. | |
%j | Årets dag som ett nollpolstrat decimaltal. | 001, 002,…, 366 |
%-j | Årets dag som decimaltal. | 1, 2,…, 366 |
%U | Årets veckonummer (söndag som första veckodag). Alla dagar i ett nytt år före den första söndagen anses vara i vecka 0. | 00, 01,…, 53 |
%W | Årets veckonummer (måndag som första veckodag). Alla dagar i ett nytt år som föregår den första måndagen anses vara i vecka 0. | 00, 01,…, 53 |
%c | Lokalens lämpliga datum- och tidsrepresentation. | Mån 30 sep 07:06:05 2013 |
%x | Lokalens lämpliga datumrepresentation. | 09/30/13 |
%X | Lokalens lämpliga tidsrepresentation. | 07:06:05 |
%% | En bokstavlig "%" karaktär. | % |
Exempel 3: Lokalens lämpliga datum och tid
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 kör programmet blir resultatet:
Utgång 1: Tis juni 12 09:55:22 2018 Utgång 2: 06/12/18 Utgång 3: 09:55:22
Formatkoder %c
, %x
och %X
används för lokal s rätt datum och tid representation.
Vi rekommenderar dig också att kontrollera Python strptime (). Den strptime()
metod skapar ett datetime
objekt från en sträng.