mtd
wt
mel
mt)
Introducci6n al Manejo de Fechas
Librerias para fechas
import datetine as at
import tine as
‘para visuatizar todas Las funciones y constantes de uno determinada Libreria
ir(em)
time devuelve el iempo actual en segundos desde la fecha 1 de enero de 1970:
ee.tire()
La estructura del tiempo en Python se maneja como una tupa:
Index: Atributos Valores
0: tm_year 2009
4: tm_mon de 1 212
2:tm_mday de 1 231
5: tm_hour de 0a 23,
4stm_min de 0 a 59
5: tm_see de 0.060
6: tm_wday do 0.26 (0 ines)
7: tm_yday de 1 8 966
8: tm isdst 1,0, 1,1 (horario de verano)
localtine » tm. localtine(tm.tine())
print ("Actual hora local :", localtine)
CConvierte la marca de tiempo en fecha y horaIn [ 1: atnow = de.catetine,Frontimestanp(tn.time())
tron
In [ ]: | str(dtnow)
Practicos atibutos de fecha y hora:
In (1: [# get year, month, day, etc.from a datetine
Nes: “1
Hora: *,atnow.hour)
print(*Minutos: “,dtnow.minute)
print (*Segundes: *,dtnow-second)
Aritmética de fechas
timedelta es una duracién que exoresa fa diferencia entre dos fechas
timedelta(dias, segundos, microsegundos) : Devuclve un objeto del tipo timedlia que representa un inlarvao de lempo can los das,
seguncos y micorsegundosindioados.
in [ 1: delta = de.tinedelta(days = 100) 4 create @ tinedelta of 100 days
delta
date today devuelve la fecha local actual
in [ ]: today = dt.cate.today()
In [ ]: | today
Puedes usar el valor de una variable de fecha como una cadena usando st):In
In
in
In
ste(today)
today - deita # La fecha hace 109 dias
str(teday ~ delta)
today + delta # Lo fecha dentro de 190 dias
str(today + delta)
today > today-delta # compare dates
today > todaysderta
hay = dt.date.today() # Asigna fecho actual
ayer = hoy - ét.tinedelta(days=1) # Resto o fecho actual 1 dia
Inafana = hoy + dt.tinedelta(days=1) # Suna a fecha actual 1 dia
diferencia_en_dias = maflana ~ ayer # Resta Los dos fechas
aiferencia_en dias
print(diferencia_en_dias)
41 » dtadatetine(2020, 1, 1)
print(di + dt-tiredelta(31, 3600) #¥ agregando 0 La fecha 31 dias y 3608 segundos (1 hora)
Formatear fechas
Para conver cadenas formateadas a instancas de datetime (fechas) se puede usar strptime
Para escrbir datetime (fechas) on cadonas formateadas se puede usar stftimeIn [ 1: now = at.datetine.now() # current date and eine
(1: year = now.stefeime(
print(year:", year)
month = now. strFtine ("sn")
print months", month)
day = now.strftize(“éa")
prine("éay:", day)
‘ime = now. steftime(*%:28:X5")
prine("time:", tine)
dave_tine = now.strftine(te/¥s/2¥, AH:M:XS")
print(*date and ‘tine:" ,date_tine)
rine (now.strétine(a/n/V"))
‘type (now. steFtime( '%6/%0/%0"))
In [ 1: |prine(now.strftine(‘Hoy es 2A %d de XB del afo XV")
\Vemos que el idioma por defecto de Python es ol Inglés. Si quieres que salga en otro idioma puedes camblar la configuracién local. Por
‘ejemplo, para que salga en esparial
In [ 1: Anport locale
Locale. setlocale(locale.LCALL, ("es pF, “UTF-8"))
print(now.strFtie( Hoy es XA Hd de %8 del afo BY"))
Para volver ala configuracin local por defecto:
In [ ]: Amport locale
locale.setlecale(locale-L¢_ALL, ("en_US")In
Hinport dovetine as dt
davetine 1
datetine 2 =
Gt datetine.strptine("30 Nov 08", "Xd Xb Xy")
{tidatetine stratine("Thursday, 3@ nov 2008", "XA, Xd Xb 3")
print(datetine 4)
print (type(datetine 1))
print (datetine 2)
diferencia entre 2 fechas en dias
datetine 2» dt.datetine.strptine( "04/03/1979", "%d/%a/¥")
datetine 3= dt -datetine.strptine( 04/03/2020", "%d/%n/30")
2 = datetine_3-datetine 2
prine(a)
# pasando La cantidad de atas a entero
int (a-days)
Médulo Calendario
El médulo calendaro nos brinda diversas funciones relacionadas canal calendarie, incluyende funciones que imprimen un ealendaro en
‘un mes o un aio,
ormat textual ps
import calendar
ir(catendar)
‘calendar.setfirstweekday(e) define el primer dia deLa senona,por defecto @:HondayIn [ ]: [ealendar.Firstweekday() #8:Monday - 6:Sundoy
in [ ]: [ealendar.isteap(2026) #irue si el ofo es bisieste
sn [ ]: calendar. Leapdays(2000, 2020) #eantided de ofos bistesto entre 2 «fos
4p [ 1: calendar nontncalendar(2021,9) # muestra el mes como un calendori catenderto
1n [ 1: ealendar.weekday(2021,9,3) #40 de Lo senano que corresponde a und fecha en especifica
tn [ ]+ print calendar. textcalendar( calendar MONDAY) -formatyear(2621,2, 1, 1, 2))
ttpsifpython-nars-impacientes blogspot com/2014/02/operaciones-con fechas.y-horas.himl(hips/python-pare.
‘pacientes blogsnol.com/201-002/operaciones.confochas-y-horas him)