Módulo de flecha en Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *