Manejo de fecha y hora actuales en Python

28/10/2010

El que sigue es un ejemplo del uso del módulo datetime para el manejo de la fecha y la hora actuales del sistema. Puede usarse como un módulo, o para imprimir la fecha y la hora en un formato amigable para el usuario.

#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-

'''
fechas.py - Genera un diccionario con datos utiles sobre fecha y hora actuales.
'''

import datetime

diasemana = {'MONDAY':'Lunes','TUESDAY':'Martes','WEDNESDAY':'Miercoles','THURSDAY':'Jueves','FRIDAY':'Viernes','SATURDAY':'Sabado','SUNDAY':'Domingo'}

mes = {'JANUARY':'Enero','FEBRUARY':'Febrero','MARCH':'Marzo','APRIL':'Abril','MAY':'Mayo','JUNE':'Junio','JULY':'Julio','AUGUST':'Agosto','SEPTEMBER':'Setiembre','OCTOBER':'Octubre','NOVEMBER':'Noviembre','DECEMBER':'Diciembre'}

def fechas():
    '''
    Devuelve un diccionario con las siguientes claves:
    fecha   : Fecha actual en formato 'datetime.date'
    fechora : Fecha y hora actuales en formato 'datetime.date'
    hora    : Hora actual en formato 'str'
    dia     : Dia de la semana segun diccionario en formato 'str'
    mes     : Mes actual segun diccionario en formato 'str'
    '''
    dic = {}
    dic['fecha']   = datetime.date.today()
    dic['fechora'] = datetime.datetime.today()
    dic['hora']    = dic['fechora'].time().__str__().split('.')[0]
    dic['dia']     = diasemana[dic['fecha'].strftime('%A').upper()]
    dic['mes']     = mes[dic['fecha'].strftime('%B').upper()]
    return dic

def main():
    '''
    Imprime la fecha y hora actuales usando el diccionario de fechas()
    '''
    d = fechas()
    print 'Son las %s del %s %s de %s de %s' % (d['hora'],d['dia'],d['fecha'].day,d['mes'],d['fecha'].year)

if __name__ == '__main__': main()



Tags: ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Get Adobe Flash playerPlugin by wpburn.com wordpress themes