![]() |
Fecha y hora en 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.
POR FABOR COMO PODRIA RESOLVER ESTE PROBLEMA(ESCRIBO NUMEROS Y Q SEA EL RESULTADO TEXTOS COMO <62=SENCENTA Y UNO>)
ResponderEliminarPuedes mirar esto http://es.axiacore.com/blog/2008/09/convertir-numeros-a-letras-python/
EliminarAprende a escribir primero por favor. gracias
EliminarMuy buenas los respuestas
ResponderEliminarcomo consigo el alto de una cadena de texto en reportlab y python
ResponderEliminarCarlos, ¿a que te referís con "alto de una cadena"?. Saludos
EliminarNo sera el largo de la cadena?
Eliminarme parece que es asi:
cadena = "perro"
print len(cadena)
>>> 5
Gracias por la explicación, es muy práctica y útil. Saludos
ResponderEliminarMe alegro Robertino que te sea útil. Saludos
EliminarGracias Diego por tomarte tu tiempo para compartir tus conocimientos!!
ResponderEliminarMe alegro Cesar te sea de utilidad, gracias a ti por visitar el blog. Saludos
EliminarHola 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???
ResponderEliminarobtiene la fecha del día de hoy y le restas 1 a día
EliminarHola 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
ResponderEliminarHola Emmanuel, fijate con el siguiente código (asignacion locale español):
Eliminar# -*- 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
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.
ResponderEliminarHola, 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.
ResponderEliminarHola, buen aporte, el trabajo con fechas y horas es muy importante para cualquier programador, gracias por el aporte.
ResponderEliminarGracias por visitar el y participar en blog. Saludos
EliminarGracias por la ayuda de esta libreria importante, es interesante el paradigma de python respecto a otros lenguajes.
ResponderEliminarGracias Israel por visitar el blog. Saludos
Eliminarpara comenzar con python estoy intentando hacer un despertador simple. gracias por compartir.
ResponderEliminarHola, gracias a ti por visitar el blog. Saludos
EliminarExcelente 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?
ResponderEliminarHola 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:
Eliminarfrom datetime import datetime
birthday = datetime(1988, 2, 19, 12, 0, 0)
diff = datetime.now() - birthday
print diff
# 8954 days, 7:03:45.765329
Aquí tienes otro ejemplo restando horas, devuelve el tiempo en minutos:
Eliminarimport 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
Como puedo poner widget para manejar las fechas en un ModelForm
ResponderEliminarbuenos dias, necesito saber como acceder en python a los datos de un proceso... por ejemplo... copio un archivo, cuando voy a pegarlo en un directorio, saber el tamaño total de la copia... espero me puedan ayudar con eso... SALUDOS
ResponderEliminarHola como estas!!! gracias por visitar el blgo!!!
EliminarPodrías modificar la siguiente función. Lo que hace es darte el tamaño en bytes del directorio acutal. Saludos
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
def get_size(start_path = '.'):
----total_size = 0
----for dirpath, dirnames, filenames in os.walk(start_path):
--------for f in filenames:
------------fp = os.path.join(dirpath, f)
------------total_size += os.path.getsize(fp)
----return total_size
print get_size()
Hola maestro como haría para darle un rango de tiempo por ejemplo quiero hacer funcionar un motor DC a tal hora en determinado tiempo cuando pase por ejemplo 10 segundos se apague. Muchas gracias de antemano
ResponderEliminarHola Javier, gracias por visitar el blog. Me imagino puedes correr una tarea programada que a esa hora corra tu proceso y luego con un time.sleep(10) aguantes 10 segundos y se corta el proceso!!!!
EliminarSaludos
Hola! de verdad es de mucha utilidad tu blog, pero queria saber si lo puedo aplicar en este ejercicio:
ResponderEliminarEscriba un programa que devuelva la edad del usuario (en años y meses), a partir de su fecha de nacimiento, y el dia de su nacimiento.
Gracias!
Hola, gracias por visitar el blog!!!
EliminarHas podido hacer algo? en que parte te trancas?
Saludos
Hola! hasta el momento llevo esto:
Eliminarimport datetime
def fecha_nacimiento():
print "Introduzca su fecha de nacimiento: "
dia = int( input( "\t-Día: " ) )
mes = int( input( "\t-Mes: " ) )
anio= int( input( "\t-Año: " ) )
if ( type( dia ) != type( 1 ) ) or ( type( mes ) != type( 1 ) ) or ( type( anio ) != type( 1 ) ) or ( dia < 1 ) or\
( dia > 31) or ( mes < 1 ) or ( mes > 12) or\( anio < 1000):
print "Error, fecha no valida"
return
fechanac = datetime.date( ano, mes, dia )
return fechanac
def anios_transcurridos():
if mes > d.month:
print "Su edad actual es: ", cal, " años"
elif dia > d.day:
print "su edad actual es: ", cal, "años"
elif mes <= d.month:
print "Su edad actal es: ", calanio, "años"
elif dia <= d.day:
print "Su edad actual es: ", calanio, "años"
Pero no sé si esta bien. Por otra parte sigo confundida en cómo sacar los meses
Primero lo programe así, aqui me da la edad en años pero no sé cómo integrar los meses
ResponderEliminar#!/usr/bin/python
#_*_coding:utf-8_*_
import datetime
from datetime import date
d= date.today()
hoy = datetime.date.today()
print (hoy.strftime ("%d/%m/%Y"))
anio=int (raw_input("Ingrese el año de nacimiento: "))
mes= int (raw_input ("Ingrese el mes de nacimiento: "))
dia= int (raw_input ("Ingrese el día de nacimiento: "))
calanio = (d.year) - (anio)
cal= calanio -1
if mes > d.month:
print "Su edad actual es: ", cal, " años"
elif dia > d.day:
print "su edad actual es: ", cal, "años"
elif mes <= d.month:
print "Su edad actal es: ", calanio, "años"
elif dia <= d.day:
print "Su edad actual es: ", calanio, "años"
Hola, puedes buscar en google: "calculate years old in python"
EliminarLos primeros resultados en StackOverflow pueden darte la solución!!!
Saludos
Gracias !!.. ya logré el programa
EliminarExcelente!!!!
EliminarSaludos
Amigo, buen día. Tengo dudas de como darle fecha y hora a un archivo que estaré creando, una foto que tome el valor consecutivo mas la fecha y hora en que fue tomada, ejemplo Foto1-30-06-17 algo así
ResponderEliminarhola necesito ayuda urgente !!! para hoy
ResponderEliminarnecesito que python me entre el nombre del mes indicando la fecha// ademas necesito que me entregue la diferencia de años entre dos fecha// tambien necesito que me digan como convertir a string una fecha !!!! porfaaaaaa es para hoyyyyy
Jajajajaja "es para hoy" x'D
Eliminarcomo se tendría que escribir para hacer un programa que te diga la fecha y hora y a su ves te diga si es buenos días,tardes,noches?
ResponderEliminarthanks
ResponderEliminar