Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Fecha y hora de Python

Fecha y hora de Python

En este artículo, aprenderá a manipular la fecha y la hora en Python con la ayuda de ejemplos.

Video:Python datetime - Trabajar con fechas y horas

Python tiene un módulo llamado datetime para trabajar con fechas y horas. Vamos a crear algunos programas simples relacionados con la fecha y la hora antes de profundizar.


Ejemplo 1:obtener fecha y hora actuales

import datetime

datetime_object = datetime.datetime.now()
print(datetime_object)

Cuando ejecute el programa, la salida será algo como:

2018-12-19 09:26:03.478039

Aquí, hemos importado datetime módulo usando import datetime declaración.

Una de las clases definidas en el datetime el módulo es datetime clase. Luego usamos now() método para crear un datetime objeto que contiene la fecha y hora locales actuales.


Ejemplo 2:obtener la fecha actual


import datetime

date_object = datetime.date.today()
print(date_object)

Cuando ejecute el programa, la salida será algo como:

2018-12-19

En este programa, hemos usado today() método definido en el date clase para obtener un date objeto que contiene la fecha local actual.


¿Qué hay dentro de datetime?

Podemos usar la función dir() para obtener una lista que contenga todos los atributos de un módulo.

import datetime

print(dir(datetime))

Cuando ejecute el programa, la salida será:


['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_divide_and_round', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']

Las clases comúnmente utilizadas en el módulo de fecha y hora son:

  • clase de fecha
  • Clase de tiempo
  • Clase de fecha y hora
  • Clase timedelta

clase datetime.date

Puede instanciar date objetos del date clase. Un objeto de fecha representa una fecha (año, mes y día).


Ejemplo 3:Objeto de fecha para representar una fecha


import datetime

d = datetime.date(2019, 4, 13)
print(d)

Cuando ejecute el programa, la salida será:

2019-04-13

Si te lo preguntas, date() en el ejemplo anterior es un constructor del date clase. El constructor toma tres argumentos:año, mes y día.

La variable a es un date objeto.


Solo podemos importar date clase del datetime módulo. Así es como:


from datetime import date

a = date(2019, 4, 13)
print(a)

Ejemplo 4:obtener la fecha actual

Puedes crear un date objeto que contiene la fecha actual usando un método de clase llamado today() . Así es como:


from datetime import date

today = date.today()

print("Current date =", today)

Ejemplo 5:obtener la fecha de una marca de tiempo

También podemos crear date objetos de una marca de tiempo. Una marca de tiempo de Unix es el número de segundos entre una fecha particular y el 1 de enero de 1970 en UTC. Puede convertir una marca de tiempo a la fecha usando fromtimestamp() método.


from datetime import date

timestamp = date.fromtimestamp(1326244364)
print("Date =", timestamp)

Cuando ejecute el programa, la salida será:

Date = 2012-01-11

Ejemplo 6:Imprime el año, mes y día de hoy

Podemos obtener año, mes, día, día de la semana, etc. del objeto de fecha fácilmente. Así es como:


from datetime import date

# date object of today's date
today = date.today() 

print("Current year:", today.year)
print("Current month:", today.month)
print("Current day:", today.day)

fechahora.hora

Un objeto de tiempo instanciado desde el time class representa la hora local.


Ejemplo 7:Objeto de tiempo para representar el tiempo


from datetime import time

# time(hour = 0, minute = 0, second = 0)
a = time()
print("a =", a)

# time(hour, minute and second)
b = time(11, 34, 56)
print("b =", b)

# time(hour, minute and second)
c = time(hour = 11, minute = 34, second = 56)
print("c =", c)

# time(hour, minute, second, microsecond)
d = time(11, 34, 56, 234566)
print("d =", d)

Cuando ejecute el programa, la salida será:


a = 00:00:00
b = 11:34:56
c = 11:34:56
d = 11:34:56.234566

Ejemplo 8:Imprimir hora, minuto, segundo y microsegundo

Una vez que creas un time objeto, puede imprimir fácilmente sus atributos como hora , minuto etc.


from datetime import time

a = time(11, 34, 56)

print("hour =", a.hour)
print("minute =", a.minute)
print("second =", a.second)
print("microsecond =", a.microsecond)

Cuando ejecute el ejemplo, el resultado será:


hour = 11
minute = 34
second = 56
microsecond = 0

Observe que no hemos pasado microsegundo argumento. Por lo tanto, su valor predeterminado 0 está impreso.


fechahora.fechahora

El datetime módulo tiene una clase llamada dateclass que puede contener información tanto de fecha y tiempo objetos.


Ejemplo 9:objeto de fecha y hora de Python


from datetime import datetime

#datetime(year, month, day)
a = datetime(2018, 11, 28)
print(a)

# datetime(year, month, day, hour, minute, second, microsecond)
b = datetime(2017, 11, 28, 23, 55, 59, 342380)
print(b)

Cuando ejecute el programa, la salida será:


2018-11-28 00:00:00
2017-11-28 23:55:59.342380

Los tres primeros argumentos año , mes y día en el datetime() constructor son obligatorios.


Ejemplo 10:Imprimir año, mes, hora, minuto y marca de tiempo


from datetime import datetime

a = datetime(2017, 11, 28, 23, 55, 59, 342380)
print("year =", a.year)
print("month =", a.month)
print("hour =", a.hour)
print("minute =", a.minute)
print("timestamp =", a.timestamp())

Cuando ejecute el programa, la salida será:


year = 2017
month = 11
day = 28
hour = 23
minute = 55
timestamp = 1511913359.34238

fechahora.horadelta

Un timedelta objeto representa la diferencia entre dos fechas u horas.


Ejemplo 11:Diferencia entre dos fechas y horas


from datetime import datetime, date

t1 = date(year = 2018, month = 7, day = 12)
t2 = date(year = 2017, month = 12, day = 23)
t3 = t1 - t2
print("t3 =", t3)

t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)

print("type of t3 =", type(t3)) 
print("type of t6 =", type(t6))  

Cuando ejecute el programa, la salida será:


t3 = 201 days, 0:00:00
t6 = -333 days, 1:14:20
type of t3 = <class 'datetime.timedelta'>
type of t6 = <class 'datetime.timedelta'>

Aviso, ambos t3 y t6 son de <class 'datetime.timedelta'> tipo.


Ejemplo 12:Diferencia entre dos objetos timedelta


from datetime import timedelta

t1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33)
t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54)
t3 = t1 - t2

print("t3 =", t3)

Cuando ejecute el programa, la salida será:


t3 = 14 days, 13:55:39

Aquí, hemos creado dos timedelta objetos t1 y t2 , y su diferencia se imprime en la pantalla.


Ejemplo 13:Impresión de objeto timedelta negativo


from datetime import timedelta

t1 = timedelta(seconds = 33)
t2 = timedelta(seconds = 54)
t3 = t1 - t2

print("t3 =", t3)
print("t3 =", abs(t3))

Cuando ejecute el programa, la salida será:


t3 = -1 day, 23:59:39
t3 = 0:00:21

Ejemplo 14:Duración del tiempo en segundos

Puede obtener el número total de segundos en un objeto timedelta usando total_seconds() método.


from datetime import timedelta

t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("total seconds =", t.total_seconds())

Cuando ejecute el programa, la salida será:


total seconds = 435633.233423

También puede encontrar la suma de dos fechas y horas usando + operador. Además, puedes multiplicar y dividir un timedelta objeto por enteros y flotantes.


Fecha y hora en formato Python

La forma en que se representan la fecha y la hora puede ser diferente en diferentes lugares, organizaciones, etc. Es más común usar mm/dd/yyyy en los EE. UU., mientras que dd/mm/yyyy es más común en el Reino Unido.

Python tiene strftime() y strptime() métodos para manejar esto.


Python strftime() - objeto de fecha y hora a cadena

El strftime() el método se define en las clases date , datetime y time . El método crea una cadena formateada a partir de un date dado , datetime o time objeto.


Ejemplo 15:Dar formato a la fecha usando strftime()


from datetime import datetime

# current date and time
now = datetime.now()

t = now.strftime("%H:%M:%S")
print("time:", t)

s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# mm/dd/YY H:M:S format
print("s1:", s1)

s2 = now.strftime("%d/%m/%Y, %H:%M:%S")
# dd/mm/YY H:M:S format
print("s2:", s2)

Cuando ejecute el programa, la salida será algo como:


time: 04:34:52
s1: 12/26/2018, 04:34:52
s2: 26/12/2018, 04:34:52

Aquí, %Y , %m , %d , %H etc. son códigos de formato. El strftime() El método toma uno o más códigos de formato y devuelve una cadena formateada basada en él.

En el programa anterior, t , s1 y s2 son cadenas.

  • %Y - año [0001,..., 2018, 2019,..., 9999]
  • %m - mes [01, 02, ..., 11, 12]
  • %d - día [01, 02, ..., 30, 31]
  • %H - hora [00, 01, ..., 22, 23
  • %M - minuto [00, 01, ..., 58, 59]
  • %S - segundo [00, 01, ..., 58, 59]

Para obtener más información sobre strftime() y códigos de formato, visite:Python strftime().


Python strptime() - cadena hasta la fecha y hora

El strptime() método crea un datetime objeto de una cadena determinada (que representa la fecha y la hora).


Ejemplo 16:strptime()


from datetime import datetime

date_string = "21 June, 2018"
print("date_string =", date_string)

date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)

Cuando ejecute el programa, la salida será:


date_string = 21 June, 2018
date_object = 2018-06-21 00:00:00

El strptime() El método toma dos argumentos:

  1. una cadena que representa la fecha y la hora
  2. código de formato equivalente al primer argumento

Por cierto, %d , %B y %Y los códigos de formato se utilizan para day , mes (nombre completo) y año respectivamente.

Visite Python strptime() para obtener más información.


Manejo de la zona horaria en Python

Suponga que está trabajando en un proyecto y necesita mostrar la fecha y la hora en función de su zona horaria. En lugar de tratar de manejar la zona horaria usted mismo, le sugerimos que use un módulo pytZ de terceros.


from datetime import datetime
import pytz

local = datetime.now()
print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S"))


tz_NY = pytz.timezone('America/New_York') 
datetime_NY = datetime.now(tz_NY)
print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S"))

tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))

Cuando ejecute el programa, la salida será algo como:


Local time: 2018-12-20 13:10:44.260462
America/New_York time: 2018-12-20 13:10:44.260462
Europe/London time: 2018-12-20 13:10:44.260462	

Aquí, datetime_NY y datetime_Londres son objetos de fecha y hora que contienen la fecha y hora actuales de su zona horaria respectiva.


python

  1. Tipos de datos de Python
  2. Operadores de Python
  3. Declaración de paso de Python
  4. Argumentos de la función de Python
  5. Diccionario de Python
  6. Iteradores de Python
  7. Cierres Python
  8. ¿Cómo obtener la fecha y hora actuales en Python?
  9. Python Obtener la hora actual
  10. Sueño de Python ()
  11. Python - Descripción general