Python strftime () - datetime to string

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 datetimeobjekt 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 datetimeobjekt.

Hur fungerar strftime ()?

I ovanstående program, %Y, %m, %detc. är formatkoder. Den strftime()metod tar en eller flera formatkoder som ett argument och returnerar en formaterad sträng baserat på den.

  1. Vi importerade datetimeklass från datetimemodulen. Det beror på att objektet i datetimeklassen kan komma åt strftime()metoden.
  2. Den datetimeobjekt som innehåller aktuellt datum och tid sparas i nu variabel.
  3. Den strftime()metoden kan användas för att skapa formaterade strängar.
  4. 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, %xoch %Xanvänds för lokal s rätt datum och tid representation.

Vi rekommenderar dig också att kontrollera Python strptime (). Den strptime()metod skapar ett datetimeobjekt från en sträng.

Intressanta artiklar...