Arrow es un módulo de Python para trabajar con fecha y hora. Ofrece un enfoque sensato y amigable para los humanos para crear, manipular, formatear y convertir fechas, horas y marcas de tiempo. Permite la creación fácil de instancias de fecha y hora con reconocimiento de zona horaria.
Instalación
El módulo de flecha se instala con el siguiente comando:
pip install arrow
Características
- Fácil de usar.
- Reconocimiento de zona horaria y UTC por defecto.
- Conversión de zona horaria.
- Marco de tiempo que va desde un microsegundo hasta un año.
- Fácil de usar.
- Formatea y analiza strings automáticamente.
- Admite una lista creciente de locales contribuidos.
Obtener la hora UTC (Universal Time Coordinated).
Para obtener la hora UTC actual, usamos el método utcnow().
Python3
# importing arrow module import arrow # getting UTC time utc_time = arrow.utcnow() # printing the current UTC time print('Current UTC Time is =', utc_time)
Producción :
Current UTC Time is = 2020-02-28T18:06:39.228924+00:00
Conseguir tiempo indio.
Para obtener la hora regional actual (India), usamos el método now().
Python3
# importing arrow module import arrow # getting current indian time ind_time = arrow.now('Asia/Calcutta') # printing the time print('Current India Time =', ind_time)
Producción :
Current India Time = 2020-02-28T23:40:07.112695+05:30
String de análisis hasta la fecha
Para analizar la string en formato de fecha, usamos el método get().
Python3
# importing arrow module import arrow # date in string format s ='2020-02-02 12:30:45' # parsing string into date date = arrow.get(s, 'YYYY-MM-DD HH:mm:ss') # printing the date print(date)
Producción :
2020-02-02T12:30:45+00:00
tiempo unix
Unix time es un sistema para describir un punto en el tiempo. Es el número de segundos que han transcurrido desde la época de Unix, es decir, la hora 00:00:00 UTC del 1 de enero de 1970, menos los segundos bisiestos.
- El método timestamp() se utiliza para obtener la hora de Unix.
- fromtimestamp() método utilizado para convertir la hora de Unix de nuevo al objeto de fecha de flecha.
Python3
# importing arrow module import arrow # getting current utc time utc = arrow.utcnow() # printing the unix time print(utc) # getting unix time unix_time = utc.timestamp # printing unix time print(unix_time) # converting unix time into arrow date object date = arrow.Arrow.fromtimestamp(unix_time) # printing arrow dateobject print(date)
Producción :
2020-03-04T13:33:15.041536+00:00 1583328795 2020-03-04T19:03:15+05:30
Instancia de flecha de fecha y hora
También se puede crear una instancia del módulo de flecha desde el módulo DateTime. Considere el siguiente ejemplo para una mejor comprensión del tema.
Python3
# importing arrow module import arrow # importing datetime from datetime module from datetime import datetime # getting current time using datetime module dt = datetime.now() # creating arrow instance from datetime instance arrow_dt = arrow.Arrow.fromdate(dt) # printing datetime instance print(dt) # printing arrow instance print(arrow_dt)
Producción :
2020-03-04 19:16:04.317690 2020-03-04T00:00:00+00:00
Propiedades para obtener objetos de fecha y hora individuales
si desea obtener cualquier objeto como individuo, aquí hay algunas propiedades que se pueden usar.
Python3
#import arrow module import arrow #Call datetime functions that return properties a = arrow.utcnow() print(a.time()) print(a.date()) #Get any datetime value print(a.year)
Producción :
datetime.time(19, 16, 04, 317690) datetime.date(2020, 3, 4) 2020
Reemplazar y cambiar la propiedad
si desea reemplazar o cambiar cualquier objeto como individuo, aquí hay algunas propiedades que se pueden usar.
Python3
#import arrow module import arrow # getting current utc time a = arrow.utcnow() # printing the unix time without alteration print("without alteration: ",a) # replacing only the hours to 5 and minutes to 30 b = a.replace(hour=5, minute=30) print("with hours and minutes replaced: ",b) # shifting forward in weeks c = a.shift(weeks=+3) print("with weeks shifted 3 forward: ",c) # replacing only the timezone d = a.replace(tzinfo='US/Pacific') print("with timezone replaced: ",d)
Producción :
without alteration: 2020-03-04T13:33:15.041536+00:00 with hours and minutes replaced: 2020-03-04T05:30:15.041536+00:00 with weeks shifted 3 forward: 2020-03-25T13:33:15.041536+00:00 with timezone replaced: 2020-03-04T13:33:15.041536-07:00
formato humanizado
Todas las propiedades anteriores y las salidas de funciones son más un formato de computadora, pero ¿qué sucede si desea que sea más una forma humana? por ejemplo: «hace una hora» o «hace 2 horas», aquí hay algunas propiedades que se pueden usar para lograr un formato humanizado.
Python3
#import arrow module import arrow #Humanize to past apast = arrow.utcnow().shift(hours=-1) print(apast.humanize()) #humanize to future present = arrow.utcnow() afuture = present.shift(hours=3) print(afuture.humanize(present)) #Indicate a specific time granularity afuture = present.shift(minutes=73) print(afuture.humanize(present, granularity="minute")) print(afuture.humanize(present, granularity=["hour", "minute"]))
Producción :
'an hour ago' 'in 3 hours' 'in 73 minutes' 'in an hour and 13 minutes'
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA