Saltar al contenido

Detectar si una variable es un objeto de fecha y hora

Solución:

Necesitas isinstance(variable, datetime.datetime):

>>> import datetime
>>> now = datetime.datetime.now()
>>> isinstance(now, datetime.datetime)
True

Actualizar

Como lo notó Davos, datetime.datetime es una subclase de datetime.date, lo que significa que lo siguiente también funcionaría:

>>> isinstance(now, datetime.date)
True

Quizás el mejor enfoque sería simplemente probar el tipo (como lo sugiere Davos):

>>> type(now) is datetime.date
False
>>> type(now) is datetime.datetime
True

Pandas Timestamp

Un comentario mencionó que en python3.7, que la solución original en esta respuesta devuelve False (funciona bien en python3.4). En ese caso, siguiendo los comentarios de Davos, podría hacer lo siguiente:

>>> type(now) is pandas.Timestamp

Si desea comprobar si un artículo es de tipo datetime.datetime O pandas.Timestamp, solo busca ambos

>>> (type(now) is datetime.datetime) or (type(now) is pandas.Timestamp)

Usar isinstance.

if isinstance(variable,datetime.datetime):
    print "Yay!"

isinstance es tu amigo

>>> thing = "foo"
>>> isinstance(thing, str)
True
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *