lunes, 24 de marzo de 2008

Malditas fechas!

Siempre me ha complicado el manejo de fechas en cualquier lenguaje, aquí algunos tips de fechas en python:

>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2008, 3, 24, 14, 3, 2, 704594)
>>> "%s" % datetime.datetime.now()
'2008-03-24 14:03:15.171016'

Lo mismo pero sin decimales
>>> "%s" % datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2008-03-24 14:05:19'

Y acerca de diferencia entre fechas
>>> d1=datetime.datetime.now()
>>> d2=datetime.datetime.now()
>>> ddiff=d2-d1
>>> ddiff
datetime.timedelta(0, 15, 565414)
>>> str(ddiff)
'0:16:12.826069'

Lo mismo pero sin decimales
>>> str(ddiff)[:len(dstr)-7]
'0:16:12'

Ya lo sé, ya lo sé, no es muy bonito, la otra opción más correcta sería:
>>> h=ddiff.seconds/3600
>>> m=ddiff.seconds/60-h*60
>>> s=ddiff.seconds-h*60-m*60
>>> "%i:%i:%i" % (h,m,s)
'0:16:12'


Obviamente, siempre se puede ver la documentación oficial:
http://docs.python.org/lib/module-datetime.html

No hay comentarios: