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

Python DateTime, TimeDelta, Strftime(Format) com exemplos


Em Python, data, hora e data/hora classes fornece uma série de funções para lidar com datas, horas e intervalos de tempo. Date e datetime em Python são os objetos, então quando você os manipula, você está manipulando objetos e não strings ou timestamps. Sempre que você manipular datas ou horas, você precisa importar a função datetime.

As classes datetime em Python são categorizadas em 5 classes principais.

Neste tutorial, vamos aprender-

Como usar a classe Date &DateTime


Etapa 1 ) Antes de executar o código para o formato datetime em Python, é importante importar os módulos de data e hora do Python, conforme mostrado na captura de tela abaixo.



Essas instruções de importação são peças de funcionalidade predefinidas na biblioteca Python que permitem manipular datas e horas, sem escrever nenhum código.

Considere os seguintes pontos antes de executar o código de formato de data e hora do Python

from datetime import date

Esta linha diz ao interpretador Python para importar a classe date do módulo datetime em Python. Não estamos escrevendo o código para esta funcionalidade de data, apenas importando para nosso uso

Etapa 2 ) Em seguida, criamos uma instância do objeto de data.



Etapa 3 ) Em seguida, imprimimos a data e executamos o código.



A saída é a esperada.

Imprimir data usando date.today()


date.today função tem várias propriedades associadas a ela. Podemos imprimir dia/mês/ano individual e muitas outras coisas

Vejamos um exemplo


Número do dia da semana de hoje


A função date.today() também fornece o número do dia da semana. Aqui está a tabela de dias da semana que começa com segunda-feira como 0 e domingo como 6
Dia
Número do dia da semana
Segunda-feira
0
Terça-feira
1
Quarta-feira
2
Quinta-feira
3
Sexta-feira
4
Sábado
5
Domingo
6


Weekday Number é útil para arrays cujo índice é dependente do dia da semana.


Data e hora atuais do Python:now() today()


Etapa 1) Assim como os objetos de data, também podemos usar "DATETIME OBJECTS" em Python. Os objetos de data e hora do Python fornecem a data junto com a hora em horas, minutos, segundos e milissegundos.



Quando executamos o código para datetime, ele fornece a saída com data e hora atuais.

Etapa 2) Com “DATETIME OBJECT”, você também pode chamar a classe de tempo.

Suponha que queremos imprimir apenas a hora atual sem a data.

t = datetime.time(datetime.now())

E isso me dará apenas o tempo. Então vamos executar este programa.



Ok, então você pode ver que aqui eu tenho a data e hora. E então a próxima linha, eu tenho o tempo sozinho

Etapa 3) Aplicaremos nosso indexador de dia da semana ao arrayList de nosso dia da semana para saber qual dia é hoje




Aqui está o código completo para obter a data e hora atuais usando datetime agora

from datetime import date
from datetime import time
from datetime import datetime
def main():
    ##DATETIME OBJECTS
    #Get today's date from datetime class
    today=datetime.now()
    #print (today)
    # Get the current time
    #t = datetime.time(datetime.now())
    #print "The current time is", t
    #weekday returns 0 (monday) through 6 (sunday)
    wd=date.weekday(today)
    #Days start at 0 for monday
    days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
    print("Today is day number %d" % wd)
    print("which is a " + days[wd])

if __name__== "__main__":
    main()

Como formatar a saída de data e hora com Strftime()


A partir de agora, aprendemos como usar datetime e date object em Python. Daremos um passo adiante e aprenderemos como usar uma função de formatação para formatar Hora e Data.

Etapa 1) Primeiro veremos um passo simples de como formatar o ano. É melhor entender com um exemplo.



Etapa 2) Agora, se você substituir (“%Y”) por minúscula, ou seja, ( “%y) e executar o código, a saída exibirá apenas (18) e não (2018). O século do ano não será exibido como mostrado na captura de tela abaixo



Etapa 3) A função Strf pode declarar a data, dia, mês e ano separadamente. Também com pequenas alterações no código de controle na função strftime você pode formatar o estilo do texto.



Dentro da função strftime, se você substituir (%a) por A maiúsculo, ou seja, (%A), a saída será impressa como “Firday” em vez de apenas uma abreviação “Fri”.



Etapa 4) Com a ajuda da função “Strftime” também podemos recuperar a hora do sistema local, data ou ambos.

  1. %C- indica a data e hora locais
  2. %x- indica a data local
  3. %X- indica a hora local



Na saída, você pode ver o resultado como esperado

Etapa 5) A “função strftime” permite que você chame a hora em qualquer formato 24 horas ou 12 horas.



Apenas definindo o código de controle como %I/H para hora, %M para minuto, %S para segundo, pode-se chamar o tempo para diferentes formatos

12 horas tempo é declarado [print now.strftime(“%I:%M:%S %p)]

24 horas hora é declarada [print now.strftime(“%H:%M”)]

Aqui está o código completo para converter data e hora em objeto String.

#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print(now.strftime("%c"))
      print(now.strftime("%x"))
      print(now.strftime("%X"))
##### Time Formatting ####
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM
      print(now.strftime("%H:%M")) # 24-Hour:Minute

if __name__== "__main__":
    main()

O que é Timedelta em Python?


Timedelta em Python é um objeto que representa a duração. É usado principalmente para calcular a duração entre duas datas e horas. Também é usado para recuperar o objeto com alguma data e hora delta. O objeto timedelta suporta operações matemáticas como adições, subtrações, multiplicação, divisão etc.

Como usar objetos Timedelta


Com os objetos timedelta do Python, você pode estimar o tempo para o futuro e o passado. Em outras palavras, é um intervalo de tempo para prever qualquer dia, data ou hora especial.

Lembre-se que esta função não é para imprimir a hora ou data, mas algo para CALCULAR sobre o futuro ou passado . Vamos ver um exemplo de timedelta do Python para entender melhor.

Etapa 1) Para executar objetos Timedelta, você precisa declarar primeiro a instrução de importação e depois executar o código


  1. Escrever instrução de importação para timedelta
  2. Agora escreva o código para imprimir o objeto do delta do tempo, conforme mostrado na captura de tela
  3. Execute o código. O timedelta representa um período de 365 dias, 8 horas e 15 minutos e imprime o mesmo

Confuso? O próximo passo ajudará-

Etapa 2) Vamos pegar a data e hora de hoje para verificar se nossa declaração de importação está funcionando bem. Quando o código é executado, ele imprime a data de hoje, o que significa que nossa instrução de importação está funcionando bem



Etapa 3) Veremos como podemos recuperar a data daqui a um ano através de objetos delta. Quando executamos o código, ele fornece a saída conforme o esperado.



Etapa 4) Outro exemplo de como o delta do tempo pode ser usado para calcular a data futura a partir da data e hora atuais



Etapa 5) Vejamos um exemplo mais complexo. Eu gostaria de determinar quantos dias depois do Ano Novo. Aqui está como vamos proceder



A saída mostra que “o dia de ano novo já passou há 11 dias”.

Aqui está o código de trabalho completo

#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print (timedelta(days=365, hours=8, minutes=15))
# print today's date
print ("today is: " + str(datetime.now()))
# print today's date one year from now
print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365)))
# create a timedelta that uses more than one argument
# print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print ("New Year day is already went by %d days ago" % ((today - nyd).days))

Exemplo do Python 2

from datetime import date
from datetime import time
from datetime import datetime
def main():
 	##DATETIME OBJECTS
    #Get today's date from datetime class
	today=datetime.now()
	#print today
	# Get the current time
	#t = datetime.time(datetime.now())
	#print "The current time is", t
	#weekday returns 0 (monday) through 6 (sunday)
        wd = date.weekday(today)
	#Days start at 0 for monday
        days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
        print "Today is day number %d" % wd
        print "which is a " + days[wd]

if __name__== "__main__":
    main()
#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print now.strftime("%c")
      print now.strftime("%x")
      print now.strftime("%X")
##### Time Formatting ####   
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM
      print now.strftime("%H:%M") # 24-Hour:Minute   

if __name__== "__main__":
    main()
#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print timedelta(days=365, hours=8, minutes=15)
# print today's date
print "today is: " + str(datetime.now())
# print today's date one year from now
print "one year from now it will be:" + str(datetime.now() + timedelta(days=365))
# create a timedelta that uses more than one argument
# print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print "New Year day is already went by %d days ago" % ((today - nyd).days)

Resumo


Para manipular datas e horas de maneiras simples e complexas, o módulo datetime fornece diferentes classes ou categorias como

Usando objetos de data e hora

Formatação de tempo limite com “str f time function”

Objetos Timedelta

python

  1. Data e hora do Python
  2. Como obter data e hora atuais em Python?
  3. Python Obter hora atual
  4. Módulo de tempo Python
  5. Python dormir()
  6. Instrução Python Print():Como imprimir com exemplos
  7. Python String count() com EXEMPLOS
  8. Python String format() Explique com EXEMPLOS
  9. Método Python String find() com exemplos
  10. Funções do Python Lambda com EXEMPLOS