Gli oggetti date, datetime e time implementano
tutti un metodo strftime(format)
, per creare una stringa
rappresentante il tempo, secondo una specifica stringa di formato. In
termini generali, l'istruzione d.strftime(fmt)
agisce come
time.strftime(fmt, d.timetuple())
, sebbene non tutti gli
oggetti implementino il metodo timetuple().
Per oggetti di tipo time, i codici di formato per anno mese e
giorno non dovrebbero venire usati, dato che oggetti time non
hanno tali attributi. Se vengono usati ugualmente, per l'anno viene
usato il valore 1900
, mentre per il mese ed il giorno viene
usato il valore 0
.
Per oggetti di tipo date, i codici di formato per ore, minuti e
secondi non dovrebbero venire usati, dato che oggetti date non
hanno tali attributi. Se vengono usati ugualmente, viene usato il
valore 0
per tutti loro.
Per un oggetto ``semplice'', i codici di formato %z
e
%Z
vengono convertiti in stringhe vuote.
Per un oggetto ``complesso'':
%z
timedelta(hours=-3, minutes=-30)
, allora %z
viene
sostituito con la stringa -0330
.
%Z
None
, %Z
viene
sostituito con una stringa vuota. Altrimenti, %Z
viene
sostituito dal valore di ritorno di tzname(), che deve
essere una stringa.
L'insieme completo dei codici di formato varia a seconda della piattaforma, poiché Python chiama la funzione strftime() messa a disposizione dalla libreria C della piattaforma, e variazioni di piattaforma sono comuni. La documentazione del modulo Python time elenca i codici di formato richiesti dallo standard del linguaggio C (versione 1989), e questi funzionano su tutte le piattaforme con implementazione C standard. Notate che la versione del 1999 dello standard C ha aggiunto altri codici di formato.
Anche l'intervallo di anni per cui strftime() funziona correttamente varia a seconda della piattaforma. Ad ogni modo, gli anni precedenti il 1900 non possono venire usati su nessuna piattaforma.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.