En diferentes regiones del mundo, se utilizan diferentes tipos de formatos de fecha y, por esa razón, por lo general, los lenguajes de programación proporcionan una serie de formatos de fecha para que los desarrollen. En Python, se trata mediante el uso de la libertad llamada datetime
. Consiste en clases y métodos que se pueden usar para trabajar con datos y valores de tiempo.
Para usarlo, primero importe la biblioteca de fecha y hora por:
import datetime
Podemos tener los siguientes componentes en datetime:
- la clase de tiempo
Los valores de tiempo se pueden representar utilizando la clase de tiempo. Los atributos para la clase de tiempo incluyen la hora, el minuto, el segundo y el microsegundo. Un ejemplo de tiempo se da de la siguiente manera:
Sintaxis:
time(hour, minute, second, microsecond)
Ejemplo:
import
datetime
tm
=
datetime.time(
2
,
25
,
50
,
13
)
print
(tm)
Producción
02:25:50.000013
Hay rangos para los atributos de tiempo, es decir, para segundos tenemos el rango entre 0 y 59 y para nanosegundos el rango está entre 0 y 999999. Si el rango excede, el compilador muestra un
ValueError
.La instancia de la clase de tiempo consta de tres atributos de instancia, a saber, hora, minuto, segundo y microsegundo. Se utilizan para obtener información específica sobre la hora.
Ejemplo:
import
datetime
tm
=
datetime.time(
1
,
50
,
20
,
133257
)
print
(
'Time tm is '
,
tm.hour,
' hours '
,
tm.minute,
' minutes '
,
tm.second,
' seconds and '
,
tm.microsecond,
' microseconds'
)
Producción
El tiempo tm es 1 hora 50 minutos 20 segundos y 133257 microsegundos
- la clase de fecha
Los valores para la fecha del calendario se pueden representar a través de la clase de fecha. La instancia de fecha consta de atributos para el año, el mes y el día.
Sintaxis:
date(yyyy, mm, dd)
Ejemplo:
import
datetime
date
=
datetime.date(
2018
,
5
,
12
)
print
(
'Date date is '
, date.day,
' day of '
, date.month,
' of the year '
, date.year)
Producción
Date date is 12 day of 5 of the year 2018
Para obtener los nombres de las fechas de hoy se usa un método llamado today() y para obtener toda la información en un objeto (información de hoy)
ctime()
se usa el método.Ejemplo:
import
datetime
tday
=
datetime.date.today()
daytoday
=
tday.ctime()
print
(
"The date today is "
, tday)
print
(
"The date info. is "
, daytoday)
Producción
The date today is 2020-01-30 The date info. is Thu Jan 30 00:00:00 2020
Convertir fechas a string
La fecha y la hora son diferentes de las strings y, por lo tanto, muchas veces es importante convertir la fecha y hora en una string. Para esto usamos el strftime()
método.
Sintaxis:
time.strftime(format, t)
Parámetros:
- formato: este es del tipo de string. es decir, las directivas se pueden incrustar en la string de formato.
- t – la hora a formatear.
Ejemplo:
import datetime x = datetime.datetime(2018, 5, 12, 2, 25, 50, 13) print(x.strftime("%b %d %Y %H:%M:%S"))
Producción
May 12 2018 02:25:50
El mismo ejemplo también se puede escribir en un lugar diferente configurando el print()
método.
import datetime x = datetime.datetime(2018, 5, 12, 2, 25, 50, 13) print(x.strftime("%H:%M:%S %b %d %Y"))
Producción
02:25:50 May 12 2018
%H, %M y %S muestran la hora, los minutos y los segundos respectivamente. %b, %d y %Y muestran 3 caracteres del mes, día y año respectivamente.
Además del ejemplo anterior, la lista de códigos de caracteres de uso frecuente junto con su funcionalidad son:
- %a: muestra tres caracteres del día de la semana, por ejemplo, miércoles.
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"%a"
))
Producción
Sat
- %A: Muestra el nombre del día de la semana, por ejemplo, miércoles.
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"%A"
))
Producción
Saturday
- %B: Muestra el mes, por ejemplo, mayo.
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"%B"
))
Producción
May
- %w: Muestra el día de la semana como un número, del 0 al 6, siendo el domingo 0.
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"%w"
))
Producción
6
- %m: muestra el mes como un número, del 01 al 12.
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"%m"
))
Producción
5
- %p: define AM/PM para la hora.
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"%p"
))
Producción
PM
- %y: Muestra el año en formato de dos dígitos, es decir, «20» en lugar de «2020».
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"% y"
))
Producción
18
- %f: Muestra microsegundos de 000000 a 999999.
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"% f"
))
Producción
000013
- %j: Muestra el número de día del año, del 001 al 366.
import
datetime
x
=
datetime.datetime(
2018
,
5
,
12
,
2
,
25
,
50
,
13
)
print
(x.strftime(
"%f"
))
Producción
132
Conversión de string a la fecha
La conversión de una string a la fecha muchas veces es necesaria cuando se trabaja con conjuntos de datos importados de un csv o cuando tomamos entradas de formularios de sitios web. Para hacer esto, Python proporciona un método llamado strptime() .
Sintaxis:
datetime.strptime(string, format)
Parámetros:
- string: la string de entrada.
- formato: este es del tipo de string. es decir, las directivas se pueden incrustar en la string de formato.
Ejemplo:
from datetime import datetime print(datetime.strptime('5/5/2019', '%d/%m/%Y'))
Producción
2019-05-05 00:00:00
Publicación traducida automáticamente
Artículo escrito por piyush25pv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA