Google+ Seguidores

viernes, 23 de mayo de 2014

Obtener fecha y hora actual en python (datetime - time)

    25

Fecha y hora en python
Fecha y hora en python
¿Como puedo saber la fecha y hora actual en python? ¿Cuál es la función o módulo que debo usar para obtener la hora actual en el lenguaje de programación python?

Podemos utilizar el módulo time (de bajo nivel) que proporciona diversas funciones relacionadas con el tiempo, sin embargo no todas las funciones están disponibles en todas las plataformas. Por lo tanto es necesario utilizar el módulo datetime que proporciona clases (ver clases y objetos en python) para la manipulación de fechas y horas simples y complejas.

Obtener hora actual en python con el modulo time

Formato: time.strftime(formato)

Ejemplo:

>>>import time
>>>time.strftime("%H:%M:%S") #Formato de 24 horas
20:08:40

>>>import time
>>>time.strftime("%I:%M:%S") #Formato de 12 horas
08:08:40

Imprimir la fecha actual:

Formato: dd/mm/yyyy

>>>import time
>>>print (time.strftime("%d/%m/%y"))
22/05/14

Obtener fecha y hora local en python

# -*- coding: utf-8 -*-
#!/usr/bin/python

import time

ahora = time.strftime("%c")
## representacion de fecha y hora
print "Fecha y hora " + time.strftime("%c")

## representacion del tiempo
print "Fecha "  + time.strftime("%x")

## representacion de la hora
print "Hora " + time.strftime("%X")

## Muestra fecha y hora actual a partir de la variable 
print ("Fecha y hora de la variable %s"  % ahora )

Salida:

Fecha y hora 05/22/14 20:35:11
Fecha 05/22/14
Hora 20:35:11
Fecha y hora de la variable 05/22/14 20:35:11

Los distintos formatos

Las siguientes directivas se pueden utilizar en el formato de cadena:

%a - Nombre del día de la semana
%A - Nombre del día completo
%b - Nombre abreviado del mes
%B - Nombre completo del mes
%c - Fecha y hora actual
%d - Día del mes
%H - Hora (formato 24 horas)
%I - Hora (formato 12 horas)
%j - Día del año
%m - Mes en número
%M- Minutos
%p - Equivalente de AM o PM
%S - Segundos
%U - Semana del año (domingo como primer día de la semana)
%w - Día de la semana
%W - Semana del año (lunes como primer día de la semana)
%x - Fecha actual
%X - Hora actual
%y - Número de año (14)
%Y - Numero de año entero (2014)
%Z - Zona horaria

Obtener la fecha y hora actual en Python usando el módulo datetime

Formato:

>>>ahora = datetime.datetime.now()
>>>ahora.hour
>>>ahora.minute
>>>ahora.year
>>>ahora.day
>>>ahora.month

Ejemplos:

# -*- coding: utf-8 -*-
#!/usr/bin/python

import datetime

x = datetime.datetime.now()

print ("Fecha y hora = %s" % x)

print ("Fecha y hora en formato ISO = %s" % x.isoformat() )

print (u"Año = %s" %x.year)

print ("Mes = %s" %x.month)

print ("Dia =  %s" %x.day)

print ("Formato dd/mm/yyyy =  %s/%s/%s" % (x.day, x.month, x.year) )

print ("Hora = %s" %x.hour)

print ("Minutos = %s" %x.minute)

print ("Segundos =  %s" %x.second)

print ("Formato hh:mm:ss = %s:%s:%s" % (x.hour, x.month, x.second) )

Salida:

Fecha y hora = 2014-05-23 18:05:04.597000
Fecha y hora en formato ISO = 2014-05-23T18:05:04.597000
Año = 2014
Mes = 5
Dia = 23
Formato dd/mm/yyyy = 23/5/2014
Hora = 18
Minutos = 5
Segundos = 4
Formato hh:mm:ss = 18:5:4

Bueno, esto es todo por ahora sobre estos módulos, espero le sea de utilidad. Como siempre; cualquier duda o sugerencia dejen el comentario debajo de esta entrada. Saludos, Diego.



25 comentarios:
Write comentarios
  1. POR FABOR COMO PODRIA RESOLVER ESTE PROBLEMA(ESCRIBO NUMEROS Y Q SEA EL RESULTADO TEXTOS COMO <62=SENCENTA Y UNO>)

    ResponderEliminar
    Respuestas
    1. Puedes mirar esto http://es.axiacore.com/blog/2008/09/convertir-numeros-a-letras-python/

      Eliminar
  2. como consigo el alto de una cadena de texto en reportlab y python

    ResponderEliminar
    Respuestas
    1. Carlos, ¿a que te referís con "alto de una cadena"?. Saludos

      Eliminar
    2. No sera el largo de la cadena?
      me parece que es asi:

      cadena = "perro"
      print len(cadena)
      >>> 5

      Eliminar
  3. Gracias por la explicación, es muy práctica y útil. Saludos

    ResponderEliminar
  4. Gracias Diego por tomarte tu tiempo para compartir tus conocimientos!!

    ResponderEliminar
    Respuestas
    1. Me alegro Cesar te sea de utilidad, gracias a ti por visitar el blog. Saludos

      Eliminar
  5. Hola buen día, me ha sido de gran ayuda su información, de antemano muchas gracias por ello... pero ahora tengo una duda.. ¿como podría obtener la fecha de un día antes? en mi programa mando llamar unos archivos que solo cambia la fecha, pero ahora requiero que recupere los archivos de un dia antes; alguna idea???

    ResponderEliminar
  6. Hola alguien me podría decir como traducir mi salida de la fecha, este es mi código: https://www.dropbox.com/s/te6a0m4dqjztysb/codigo.PNG?dl=0 y esta es mi salida: https://www.dropbox.com/s/b7u8xt1l15gc87y/salida.PNG?dl=0, muchas gracias, saludos

    ResponderEliminar
    Respuestas
    1. Hola Emmanuel, fijate con el siguiente código (asignacion locale español):

      # -*- coding: utf-8 -*-

      from datetime import *
      import locale

      # Establecemos el locale de nuestro sistema
      locale.setlocale(locale.LC_ALL, "")

      fecha = date.today()
      impresionf = fecha.strftime("%A %B %d %Y")

      print impresionf

      #Saludos, espero te sea de ayuda

      Eliminar
  7. Hola, necesito saber como guardar la fecha con la funcion datetime, pero que no me este guardando la hora actual. Estoy simulando un parque y necesito guadar la hora de salida y entrada de cada cliente. Ya se como se utiliza datetime. Pero cuando intento guardar la hora, queda guardada pero se actualiza el la variable guardada y no quiero que se este aculizando.

    ResponderEliminar
  8. Hola, necesito saber como guardar la fecha con la funcion datetime, pero que no me este guardando la hora actual. Estoy simulando un parque y necesito guadar la hora de salida y entrada de cada cliente. Ya se como se utiliza datetime. Pero cuando intento guardar la hora, queda guardada pero se actualiza el la variable guardada y no quiero que se este aculizando.

    ResponderEliminar
  9. Hola, buen aporte, el trabajo con fechas y horas es muy importante para cualquier programador, gracias por el aporte.

    ResponderEliminar
    Respuestas
    1. Gracias por visitar el y participar en blog. Saludos

      Eliminar
  10. Gracias por la ayuda de esta libreria importante, es interesante el paradigma de python respecto a otros lenguajes.

    ResponderEliminar
  11. para comenzar con python estoy intentando hacer un despertador simple. gracias por compartir.

    ResponderEliminar
    Respuestas
    1. Hola, gracias a ti por visitar el blog. Saludos

      Eliminar
  12. Excelente el blog Diego. Como se puede establecer fechas para luego hacer operaciones con ellas. Todos los ejemplos que encuentro siempre usan el metodo now() para obtener la fecha y hora actual. Estoy queriendo restar dos fechas (mas que fechas son horas) pero que las mismas las ingrese el usuario por teclado. Como podría hacerlo?

    ResponderEliminar
    Respuestas
    1. Hola cjadesarrollador, acá te dejo un ejemplo de como restar una fecha. Vas a tener que ver bien como recibes y conviertes el dato ingresado por el usuario:

      from datetime import datetime

      birthday = datetime(1988, 2, 19, 12, 0, 0)
      diff = datetime.now() - birthday
      print diff
      # 8954 days, 7:03:45.765329

      Eliminar
    2. Aquí tienes otro ejemplo restando horas, devuelve el tiempo en minutos:

      import datetime as dt
      start="09:35:23"
      end="10:23:00"
      start_dt = dt.datetime.strptime(start, '%H:%M:%S')
      end_dt = dt.datetime.strptime(end, '%H:%M:%S')
      diff = (end_dt - start_dt)
      diff.seconds/60

      Eliminar
  13. Como puedo poner widget para manejar las fechas en un ModelForm

    ResponderEliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Entradas más recientes

© 2014 Mi diario Python. Designed by Bloggertheme9 | Distributed By Gooyaabi Templates
Powered by Blogger.