informatica:programacion:python:fechas
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:python:fechas [2020/11/13 17:10] – [Zona horaria] tempwin | informatica:programacion:python:fechas [2021/11/04 17:04] (actual) – [Intervalos] tempwin | ||
|---|---|---|---|
| Línea 3: | Línea 3: | ||
| <code python> | <code python> | ||
| import datetime as dt | import datetime as dt | ||
| + | # from datetime import datetime | ||
| </ | </ | ||
| Línea 26: | Línea 27: | ||
| <code python> | <code python> | ||
| d = dt.date(2020, | d = dt.date(2020, | ||
| + | </ | ||
| + | |||
| + | Utilizando el método '' | ||
| + | |||
| + | <code python> | ||
| + | d = datetime.strptime(" | ||
| </ | </ | ||
| Línea 31: | Línea 38: | ||
| <code python> | <code python> | ||
| - | d = dt.datetime(2020, | + | from datetime import datetime |
| + | d = datetime(2020, | ||
| </ | </ | ||
| - | Para poder ver la fecha como una cadenad | + | Para poder ver la fecha como una cadena |
| <code python> | <code python> | ||
| Línea 43: | Línea 51: | ||
| </ | </ | ||
| - | ==== Zona horaria ==== | + | Otra forma de formatear una fecha es utilizando el método |
| - | + | ||
| - | No ayudamos del módulo | + | |
| <code python> | <code python> | ||
| - | import datetime as dt | + | fecha.strftime("%Y-%m-%d %H:%M:%S") |
| - | from dateutil import tz | + | |
| - | + | ||
| - | tz_spain = tz.gettz("Europe/ | + | |
| - | d1 = dt.datetime(2020, | + | |
| - | + | ||
| - | print(d1) | + | |
| + | # Resultado: | ||
| + | # ' | ||
| </ | </ | ||
| - | Utilizando el módulo **pytz**: | + | ==== Zona horaria ==== |
| + | |||
| + | Los objetos DateTime en Python no tienen en cuenta la zona horaria debemos hacer que sean conscientes. Para ello nos ayudamos del módulo **pytz**: | ||
| <code python> | <code python> | ||
| + | from datetime import datetime | ||
| import pytz | import pytz | ||
| Línea 66: | Línea 71: | ||
| for tz in pytz.all_timezones: | for tz in pytz.all_timezones: | ||
| print(tz) | print(tz) | ||
| + | |||
| + | # Fecha y hora actual en la zona horaria actual | ||
| + | now = datetime.now() | ||
| + | |||
| + | print(now) | ||
| + | |||
| + | # Resultado | ||
| + | # 2020-11-13 17: | ||
| # Creamos una hora en UTC (aunque no tiene información sobre zona horaria) | # Creamos una hora en UTC (aunque no tiene información sobre zona horaria) | ||
| Línea 74: | Línea 87: | ||
| print(utcnow) | print(utcnow) | ||
| + | |||
| + | # Resultado | ||
| + | # 2020-11-13 16: | ||
| </ | </ | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Por regla general, se recomienda guardar las fechas en UTC y hacer posteriormente las conversiones a la zona horaria deseada | ||
| + | </ | ||
| + | |||
| Para convertir zonas horarias: | Para convertir zonas horarias: | ||
| Línea 189: | Línea 210: | ||
| print(d1.time() > d3.time()) # False | print(d1.time() > d3.time()) # False | ||
| </ | </ | ||
| + | |||
| + | ===== Intervalos ===== | ||
| + | |||
| + | Los objetos '' | ||
| + | |||
| + | <code python> | ||
| + | from datetime import timedelta | ||
| + | |||
| + | nuevo_dia = cualquier_dia + timedelta(days=1) | ||
| + | |||
| + | # añade un día a '' | ||
| + | </ | ||
| + | |||
| + | Podríamos hacer comparaciones: | ||
| + | |||
| + | <code python> | ||
| + | cualquier_dia > nuevo_dia | ||
| + | |||
| + | # Resultado: | ||
| + | # False | ||
| + | </ | ||
| + | |||
| + | ===== Tiempos ===== | ||
| + | |||
| + | '' | ||
| + | |||
| + | Un uso típico es ver la duración de la ejecución de un programa. | ||
| + | |||
| + | <code python> | ||
| + | from time import time | ||
| + | |||
| + | t0 = time() | ||
| + | |||
| + | for x in range(100000): | ||
| + | a = x | ||
| + | |||
| + | t1 = time() | ||
| + | |||
| + | t1 - t0 | ||
| + | |||
| + | # Resultado: | ||
| + | # 0.007186412811279297 | ||
| + | </ | ||
| + | |||
informatica/programacion/python/fechas.1605283835.txt.gz · Última modificación: por tempwin
