Ajuda para criar um calendário com horas

1. Ajuda para criar um calendário com horas

Luiz Carlos Stelzer
luizbr

(usa Outra)

Enviado em 01/11/2018 - 02:48h

Olá,como gerar no python uma lista de calendário entre 2018 e 2022 com 2 formatos:

Dia da semana,Data Mes Ano Horario(horas:minutos:segundos) - Ano-Mes-Data Horário(horas:minutos:segundos)

Observacao:
Calendario : Calendario respeitando ano bissexto
Datas: apenas datas pares
horario: Horarios gerados de forma aleatória

Exemplo:

Tue, 02 Jan 2018 00:59:23 - 2018-01-02 00:59:23
Thu, 04 Jan 2018 10:24:52 - 2018-01-04 10:24:52
Sat, 06 Jan 2018 04:11:09 - 2018-01-06 04:11:09
Mon, 08 Jan 2018 16:12:40 - 2018-01-08 16:12:40
Wed, 10 Jan 2018 10:08:15 - 2018-01-10 10:08:15
Fri, 12 Jan 2018 07:10:09 - 2018-01-12 07:10:09
Sun, 14 Jan 2018 11:50:10 - 2018-01-14 11:50:10
Tue, 16 Jan 2018 02:29:22 - 2018-01-16 02:29:22
Thu, 18 Jan 2018 19:07:20 - 2018-01-18 19:07:20
Sat, 20 Jan 2018 08:50:13 - 2018-01-20 08:50:13
Mon, 22 Jan 2018 02:40:02 - 2018-01-22 02:40:02




e assim por diante,até o ano 2022...


  


2. Re: Ajuda para criar um calendário com horas

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 22/11/2018 - 17:29h

Luiz,

Segue uma solução.

'''
Calendário entre datas de 2018 e 2022
+ Apenas datas com dias pares
+ Horas aleatórias
+ Datas armazenadas em uma lista

Diego Mendes Rodrigues
'''
import datetime
import time
import random

# Função para gerar uma data com uma hora aleatória
def gerar_data(ano, mes, dia):
hora = random.choice(range(1, 24))
minuto = random.choice(range(1, 60))
segundo = random.choice(range(1, 60))

data = datetime.datetime(ano, mes, dia, hora, minuto, segundo)
return data


# Data Inicial 02/01/2018
datas = datetime.datetime(2018, 1, 2, 0, 0, 0)

# Somar 2 dias
d2 = datetime.timedelta(days=+2)

# Somar 1 dia
d1 = datetime.timedelta(days=+1)

# Lista com as datas
lista_datas = []

# Data final deve ser menor que 31/12/2022
while datas < datetime.datetime(2022, 12, 31, 0, 0, 0):
data_gerada = gerar_data(datas.year, datas.month, datas.day)
data_no_formato = data_gerada.strftime('%a, %d %b %Y %H:%M:%S - %Y-%m-%d %H:%M:%S')

#print(data_gerada)
#print(data_no_formato)

lista_datas.append(data_no_formato)

# Somar 2 dias
datas = datas + d2

# Verificar se o novo dia é ímpar
if (datas.day % 2) != 0:
datas = datas + d1

# Exibir a lista de datas, cada elemento em uma linha
for i in range(len(lista_datas)):
print(lista_datas[i])

Abraço,
Diego M. Rodrigues






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts