Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Data e hora do Python

Data e hora do Python


Neste artigo, você aprenderá a manipular data e hora em Python com a ajuda de exemplos.

Vídeo:Python datetime - Trabalhar com datas e horas


Python tem um módulo chamado datetime trabalhar com datas e horas. Vamos criar alguns programas simples relacionados a data e hora antes de nos aprofundarmos.

Exemplo 1:obter data e hora atuais

import datetime

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

Ao executar o programa, a saída será algo como:
2018-12-19 09:26:03.478039

Aqui, importamos datetime módulo usando import datetime declaração.

Uma das classes definidas no datetime módulo é datetime classe. Em seguida, usamos now() método para criar um datetime objeto contendo a data e hora local atual.

Exemplo 2:obter a data atual


import datetime

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

Ao executar o programa, a saída será algo como:
2018-12-19

Neste programa, usamos today() método definido no date class para obter um date objeto contendo a data local atual.


O que há dentro do datetime?

Podemos usar a função dir() para obter uma lista contendo todos os atributos de um módulo.
import datetime

print(dir(datetime))

Ao executar o programa, a saída será:

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


As classes comumente usadas no módulo datetime são:

classe datetime.date


Você pode instanciar date objetos do date classe. Um objeto de data representa uma data (ano, mês e dia).

Exemplo 3:objeto de data para representar uma data


import datetime

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

Ao executar o programa, a saída será:
2019-04-13

Se você está se perguntando, date() no exemplo acima é um construtor do date classe. O construtor recebe três argumentos:ano, mês e dia.

A variável a é um date objeto.


Só podemos importar date classe do datetime módulo. Veja como:

from datetime import date

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

Exemplo 4:obter a data atual


Você pode criar um date objeto que contém a data atual usando um método de classe chamado today() . Veja como:

from datetime import date

today = date.today()

print("Current date =", today)

Exemplo 5:obter a data de um carimbo de data/hora


Também podemos criar date objetos de um carimbo de data/hora. Um carimbo de data/hora Unix é o número de segundos entre uma data específica e 1º de janeiro de 1970 em UTC. Você pode converter um carimbo de data/hora em data usando fromtimestamp() método.

from datetime import date

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

Ao executar o programa, a saída será:
Date = 2012-01-11

Exemplo 6:imprimir o ano, mês e dia de hoje


Podemos obter ano, mês, dia, dia da semana etc. do objeto de data facilmente. Veja 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)

datahora.hora


Um objeto de tempo instanciado do time classe representa a hora local.

Exemplo 7:objeto de tempo para representar o tempo


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)

Ao executar o programa, a saída será:

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

Exemplo 8:imprimir hora, minuto, segundo e microssegundo


Depois de criar um time objeto, você pode facilmente imprimir seus 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)

Ao executar o exemplo, a saída será:

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

Observe que não passamos microssegundo argumento. Portanto, seu valor padrão 0 é impresso.

datahora.datahora


O datetime módulo tem uma classe chamada dateclass que podem conter informações de data e tempo objetos.

Exemplo 9:objeto de data e hora do 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)

Ao executar o programa, a saída será:

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



Os três primeiros argumentos ano , mês e dia no datetime() construtor são obrigatórios.

Exemplo 10:imprimir ano, mês, hora, minuto e carimbo de data/hora


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())

Ao executar o programa, a saída será:

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

datetime.timedelta


Um timedelta objeto representa a diferença entre duas datas ou horas.

Exemplo 11:Diferença entre duas datas e 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))  

Ao executar o programa, a saída 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'>

Observe, ambos t3 e t6 são de <class 'datetime.timedelta'> modelo.

Exemplo 12:Diferença entre dois 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)

Ao executar o programa, a saída será:

t3 = 14 days, 13:55:39

Aqui, criamos dois timedelta objetos t1 e t2 , e sua diferença é impressa na tela.

Exemplo 13:Imprimindo 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))

Ao executar o programa, a saída será:

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

Exemplo 14:duração do tempo em segundos


Você pode obter o número total de segundos em um 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())

Ao executar o programa, a saída será:

total seconds = 435633.233423


Você também pode encontrar a soma de duas datas e horas usando + operador. Além disso, você pode multiplicar e dividir um timedelta objeto por inteiros e floats.

Data e hora no formato Python


A forma como a data e a hora são representadas pode ser diferente em diferentes lugares, organizações, etc. É mais comum usar mm/dd/yyyy nos EUA, enquanto dd/mm/yyyy é mais comum no Reino Unido.

Python tem strftime() e strptime() métodos para lidar com isso.

Python strftime() - objeto de data e hora para string


O strftime() O método é definido nas classes date , datetime e time . O método cria uma string formatada de um determinado date , datetime ou time objeto.

Exemplo 15:formatar data 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)

Ao executar o programa, a saída será algo como:

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

Aqui, %Y , %m , %d , %H etc. são códigos de formato. O strftime() O método recebe um ou mais códigos de formato e retorna uma string formatada com base nele.

No programa acima, t , s1 e s2 são cordas.

Para saber mais sobre strftime() e códigos de formato, visite:Python strftime().

Python strptime() - string para datetime


O strptime() método cria um datetime objeto de uma determinada string (representando data e hora).

Exemplo 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)

Ao executar o programa, a saída será:

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

O strptime() método recebe dois argumentos:
  1. uma string representando data e hora
  2. código de formato equivalente ao primeiro argumento

A propósito, %d , %B e %Y códigos de formato são usados ​​para dia , mês (nome completo) e ano respectivamente.

Visite Python strptime() para saber mais.

Como lidar com o fuso horário em Python


Suponha que você esteja trabalhando em um projeto e precise exibir a data e a hora com base no fuso horário. Em vez de tentar lidar com o fuso horário por conta própria, sugerimos que você use um módulo pytZ de terceiros.

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"))

Ao executar o programa, a saída 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	

Aqui, datetime_NY e datetime_London são objetos datetime que contêm a data e hora atuais do respectivo fuso horário.

python

  1. Tipos de dados Python
  2. Operadores Python
  3. Instrução de passagem do Python
  4. Argumentos da função Python
  5. Dicionário Python
  6. Iteradores Python
  7. Fechamentos Python
  8. Como obter data e hora atuais em Python?
  9. Python Obter hora atual
  10. Python dormir()