Go Down

Topic: Aiuto per sketch avviso eventi  (Read 274 times) previous topic - next topic

birrohgt

salve

ho bisogno del vostro aiuto  devo progettare un specie di agenda per fare manutenzione ad un acquario
esattamente avrei la necessità di scrivere uno sketch che mi imposta una data in automatico della prossima manutenzione aggiungendo  solo i giorni per esempio:

oggi è il 23 marzo 2019 e ho fato la manutenzione (questo dato lo prelevo della rtc)
imposto la prossima manutenzione fra 10 giorni
praticamente la mia funzione deve impostare la data esatta in automatico del prossimo evento tenendo conto del mese e anno in cui siamo in questo caso  dovrebbe darmi il  2 Aprile 2019

sto usando nel mio progetto anche un rtc DS3231 che mi da ora data attuale 

non riesco a capire come posso fare questo calcolo

grazie


gpb01

#1
Mar 23, 2019, 08:15 pm Last Edit: Mar 23, 2019, 08:18 pm by gpb01
Usandi il "Unix Time" (o Epoch) ... così tutto si riconduce ad una banale somma di due numeri interi :)

Quasi tutte le librerie hanno le funzioni per la conversione di una data/ora in Unix Time (un numero undigned long a 32 bit) e viceversa oppure usi la <time.h> che fa parte di AVR libc (... libreria sempre inclusa in automatico dall'IDE) ;)

Se non lo consosci, cerca su Google ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

birrohgt

salve

sono riuscito a trasformare la mia data odierna in Unix Time  tramite la libreria del  rtc DS3231
e mi trovo un numero

data corrente...........: Mercoledi 27.03.2019 -- 23:34:56

corrente Unixtime.....: 1553729696

non ho capito bene ora come faccio ad aggiungere 30 giorni a questa data

grazie

brunello22

l'Unix time è il tempo tascorso in secondi dal 1/01/1970.

se vuoi aggiungere 30gg non devi far altro che sommarci detto tempo in secondi

gpb01

#4
Mar 28, 2019, 06:17 am Last Edit: Mar 28, 2019, 06:32 am by gpb01
30 giorni = 24 ore x 30 giorni = 24 ore x 60 minuti x 30 giorni = 24 ore x 60 minuti x 60 secondi x 30 giorni ...
... da cui il valore da sommare è (86400 secondi/giorno) x 30 giorni = 2592000 secondi :D

Guglielmo
Search is Your friend ... or I am Your enemy !

birrohgt

#5
Mar 28, 2019, 11:55 pm Last Edit: Mar 29, 2019, 12:35 am by birrohgt
grazie mille ora ho capito


Go Up