Python strftime () - datetime in stringa

In questo articolo imparerai a convertire gli oggetti data, ora e datetime nella sua stringa equivalente (con l'aiuto di esempi)

Il strftime()metodo restituisce una stringa che rappresenta la data e l'ora utilizzando l'oggetto data, ora o datetime.

Esempio 1: datetime su stringa utilizzando strftime ()

Il programma seguente converte un datetimeoggetto contenente la data e l'ora correnti in diversi formati di stringa.

  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) 

Quando esegui il programma, l'output sarà qualcosa del tipo:

 anno: 2018 mese: 12 giorno: 24 ora: 04:59:31 data e ora: 12/24/2018, 04:59:31 

Qui anno, giorno, ora e data_ora sono stringhe, mentre adesso è un datetimeoggetto.

Come funziona strftime ()?

Nel programma precedente, %Y, %m, %decc sono codici di formato. Il strftime()metodo accetta uno o più codici di formato come argomento e restituisce una stringa formattata basata su di esso.

  1. Abbiamo importato la datetimeclasse dal datetimemodulo. È perché l'oggetto della datetimeclasse può accedere al strftime()metodo.
  2. L' datetimeoggetto contenente la data e l'ora correnti viene memorizzato nella variabile now.
  3. Il strftime()metodo può essere utilizzato per creare stringhe formattate.
  4. La stringa passata al strftime()metodo può contenere più di un codice di formato.

Esempio 2: creazione di una stringa da un timestamp

  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) 

Quando esegui il programma, l'output sarà:

 Oggetto data e ora: 2018-06-12 09:55:22 Uscita 2: 06/12/2018, 09:55:22 Uscita 3:12 giugno 2018 Uscita 4:12 giugno 2018 Uscita 5:09 

Elenco codici formato

La tabella seguente mostra tutti i codici che puoi passare al strftime()metodo.

Direttiva Senso Esempio
%a Nome abbreviato del giorno della settimana. Dom, lun, …
%A Nome completo del giorno della settimana. Domenica lunedì,…
%w Giorno della settimana come numero decimale. 0, 1,…, 6
%d Giorno del mese come decimale con riempimento zero. 01, 02,…, 31
%-d Giorno del mese come numero decimale. 1, 2,…, 30
%b Nome del mese abbreviato. Gennaio, febbraio, …, dicembre
%B Nome completo del mese. Gennaio febbraio,…
%m Mese come numero decimale con riempimento di zero. 01, 02,…, 12
%-m Mese come numero decimale. 1, 2, …, 12
%y Anno senza secolo come numero decimale con riempimento di zero. 00, 01,…, 99
%-y Anno senza secolo come numero decimale. 0, 1,…, 99
%Y Anno con secolo come numero decimale. 2013, 2019 ecc.
%H Ora (formato a 24 ore) come numero decimale con riempimento di zero. 00, 01,…, 23
%-H Ora (orologio a 24 ore) come numero decimale. 0, 1, …, 23
%I Ora (orologio a 12 ore) come numero decimale con riempimento di zero. 01, 02,…, 12
%-I Ora (orologio a 12 ore) come numero decimale. 1, 2,… 12
%p AM o PM delle impostazioni locali. AM PM
%M Minuto come numero decimale con riempimento di zero. 00, 01,…, 59
%-M Minuto come numero decimale. 0, 1,…, 59
%S Secondo come numero decimale con riempimento di zero. 00, 01,…, 59
%-S Secondo come numero decimale. 0, 1,…, 59
%f Microsecondo come numero decimale, riempito con zero a sinistra. 000000 - 999999
%z Scostamento UTC nel formato + HHMM o -HHMM.
%Z Nome del fuso orario.
%j Giorno dell'anno come numero decimale con riempimento zero. 001, 002,…, 366
%-j Giorno dell'anno come numero decimale. 1, 2, …, 366
%U Numero della settimana dell'anno (domenica come primo giorno della settimana). Tutti i giorni di un nuovo anno che precede la prima domenica sono considerati nella settimana 0. 00, 01,…, 53
%W Numero della settimana dell'anno (lunedì come primo giorno della settimana). Tutti i giorni di un nuovo anno che precede il primo lunedì sono considerati nella settimana 0. 00, 01,…, 53
%c Data e ora appropriate di Locale. Lun 30 settembre 07:06:05 2013
%x Rappresentazione della data appropriata di Locale. 30/09/13
%X Rappresentazione dell'ora appropriata di Locale. 07:06:05
%% Un carattere letterale "%". %

Esempio 3: data e ora appropriate delle impostazioni locali

  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) 

Quando esegui il programma, l'output sarà:

 Uscita 1: Mar Jun 12 09:55:22 2018 Uscita 2: 06/12/18 Uscita 3: 09:55:22 

Formattare i codici %c, %xe %Xsono utilizzati per la data e l'ora appropriata la rappresentazione del locale.

Ti consigliamo anche di controllare Python strptime (). Il strptime()metodo crea un datetimeoggetto da una stringa.

Articoli interessanti...