English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai come convertire gli oggetti date, time e datetime in stringhe equivalenti (attraverso esempi)
Il metodo strftime() utilizzadate,timeodatetimeL'oggetto restituisce una stringa che rappresenta la data e l'ora.
Il seguente programma converte l'oggetto datetime che contiene la data e l'ora corrente in stringhe di diversi formati.
from datetime import datetime now = datetime.now() # Data e ora corrente year = now.strftime("%Y") print("Anno:", year) month = now.strftime("%m") print("Mese:", month) day = now.strftime("%d") print("Giorno:", day) time = now.strftime("%H:%M:%S") print("Ora:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("Data e ora:", date_time)
Quando esegui il programma, l'output sarà come segue:
Anno: 2020 Mese: 04 Giorno: 13 Ora: 17:35:22 Data e ora: 04/13/2020, 17:35:22
In questo caso,year,day,timeedate_timeÈ una stringa, mentrenowÈ un oggetto datetime.
Nell'esempio sopra, %Y, %m, %d sono codici di formato. Il metodo strftime() accetta uno o più codici di formato come parametri e restituisce una stringa formattata in base a questi parametri.
Abbiamo importato la classe datetime dal modulo datetime. Questo è perché gli oggetti della classe datetime possono accedere al metodo strftime().
L'oggetto datetime che contiene la data e l'ora corrente è memorizzato innownelle variabili.
Il metodo strftime() può essere utilizzato per creare stringhe formattate.
La stringa che passi al metodo strftime() può contenere più codici di formato.
from datetime import datetime timestamp = 1578797322 date_time = datetime.fromtimestamp(timestamp) print("Oggetto data e ora:", 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("输出 4:", d) d = date_time.strftime("%I%p") print("输出 5:", d)
Quando si esegue il programma, l'output è:
日期时间对象: 2020-01-12 10:48:42 输出 2: 01/12/2020, 10:48:42 输出 3: 12 Jan, 2020 输出 4: 12 January, 2020 输出 5: 10AM
下表显示了您可以传递给该strftime()方法的所有代码。
指令 | 含义 | 例如 |
%a | 工作日名称的缩写。 | Sun, Mon, ... |
%A | 工作日全名。 | Sunday, Monday, .. |
%w | 工作日为十进制数字。 | 0,1,...,6 |
%d | 月份中的一天,以零填充的十进制数表示。 | 01,02,...,31 |
%-d | 以十进制数表示的月份中的一天。 | 1,2,...,30 |
%b | 月份的缩写。 | Jan, Feb, ..., Dec |
%B | 完整的月份名称。 | January, February, ... |
%m | 月份为零填充的十进制数字。 | 01、02,...,12 |
%-m | 以十进制数表示的月份。 | 1,2,...,12 |
%y | 无世纪的年份,为零填充的十进制数字。 | 00、01,...,99 |
%-y | 没有世纪的年份作为十进制数字。 | 0,1,...,99 |
%Y | 以世纪作为十进制数字的年份。 | 2013、2019等 |
%H | 小时(24小时制),为补零的十进制数字。 | 00、01,...,23 |
%-H | 小时(24小时制)为十进制数字。 | 0,1,...,23 |
%I | 小时(12小时制),为零填充的十进制数字。 | 01、02,...,12 |
%-I | 小时(12小时制)为十进制数字。 | 1 2 2 |
%p | 语言环境的上午或下午。 | AM,PM |
%M | 分钟,为零填充的十进制数字。 | 00、01,...,59 |
%-M | 以十进制数字表示。 | 0,1,...,59 |
%S | 第二个为零填充的十进制数。 | 00、01,...,59 |
%-S | 第二个十进制数字。 | 0,1,...,59 |
%f | 微秒,十进制数,在左侧补零。 | 000000-999999 |
%z | Fuso orario, formato + HHMM o - HHMM. | |
%Z | Nome della fascia oraria. | |
%j | Giorno dell'anno, rappresentato come numero decimale con zeri iniziali. | 001, 002, ..., 366 |
%-j | Giorno dell'anno, rappresentato come numero decimale. | 1, 2, ..., 366 |
%U | La settimana dell'anno (domenica è il primo giorno della settimana). Tutti i giorni prima del primo domenica dell'anno nuovo sono considerati nella settimana 0. | 00, 01, ..., 53 |
%W | La settimana dell'anno (lunedì è il primo giorno della settimana). Tutti i giorni prima del primo lunedì dell'anno nuovo sono considerati nella settimana 0. | 00, 01, ..., 53 |
%c | Rappresentazione appropriata della data e dell'ora per l'ambiente linguistico. | Mon Sep 30 07:06:05 2019 |
%x | Forma appropriata di rappresentazione della data per l'ambiente linguistico. | 13/9/30 |
%X | Forma appropriata di rappresentazione della data e dell'ora per l'ambiente linguistico. | 07:06:05 |
%% | Il carattere di testo "%". | % |
from datetime import datetime timestamp = 1578797322 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 si esegue il programma, l'output è:
Output: 1: Sun Jan 12 10:48:42 2020 Output: 2: 01/12/20 Output: 3: 10:48:42
I codici di formato %c, %x e %X sono usati per rappresentare la data e l'ora appropriata per l'ambiente linguistico.
Suggeriamo anche di controllarestrptime() em PythonIl metodo strptime() crea un oggetto datetime da una stringa.