Forum: Mikrocontroller und Digitale Elektronik DS1307 Wie viel Tage sind verstrichen


von Nitram E. (slexx)


Lesenswert?

Abnd,

ich stehe vor einem Problem.
Ich habe einen Arduino und eine DS1307.
Jetzt ist meine Frage:

Wie berechne ich jetzt die Differenz zweier Daten?

z.B.: 21.07.16 bis 14.08.2016 an der Hand abgezählt sind es 24 Tage.
Aber wie bekommt man das in einem Code unter?

Es gibt einen julianischen Kalender, kann man das irgendwie verwenden?

Vlt hat jemand Anregungen, Tipps oder vlt hat es jemand schon mal 
gemacht!

:)

von Joachim B. (jar)


Lesenswert?

benutzt du die DS1307 LIB?

RTC.time2000

liefert dir doch Sekunden und die Differenz / (3600*24) die Tage

Schaltsekunde mal vernachlässigt!

: Bearbeitet durch User
von Draco (Gast)


Lesenswert?

Unix Time Stamp wird dein Freund:

https://de.wikipedia.org/wiki/Unixzeit

von Nitram E. (slexx)


Lesenswert?

Joachim B. schrieb:
> benutzt du die DS1307 LIB?
>
> RTC.time2000
>
> liefert dir doch Sekunden und die Differenz / (3600*24) die Tage
>
> Schaltsekunde mal vernachlässigt!

Ich habe die DS1307new.lib!

Also die 2000 steht für das Jahr oder wie?

Also wenn ich z.b.

vergangeneZeit = RTC.time2000;

dann zeigt er mir die Zeit vom 01.01.2000 bis heute in Sekunden an????

von Joachim B. (jar)


Lesenswert?

Martin T. schrieb:
> vergangeneZeit = RTC.time2000;
>
> dann zeigt er mir die Zeit vom 01.01.2000 bis heute in Sekunden an????

klat die merkts du dir für ein Datum und bildest die Differenz für ein 
anderes Datum.

Wenn du unbedingt "bequem" rechnen willst speichere die aktuelle, fülle 
die RTC mit Datum deiner Wahl, lese RT.time2000 und bilde die Differenz. 
Danach kannst du ja deine Uhr wieder stellen, die "Messung" dauert keine 
Sekunde und somit geht deine Uhr auch nicht falsch.
Solltest du Bedenken haben warte auf die nächste Sekunde, dann hast du 
für alles ein Sekunde Zeit ohne das deine Uhr falsch läuft.

: Bearbeitet durch User
von Nitram E. (slexx)


Lesenswert?

Ach ich glaube ich weiß wie du das meinst.

Also angenommen ich lese time2000 am 01.08.16 dann wäre die variable 
dann z.b. 500.000.000 mioSekunden, am 10.08.16 lese ich dies in eine 
andere variable neu, wären dann ohne dass es jetzt stimmt z.b. 
500.010.000 mio.Sekunden, macht eine Differenz von 10.000 TSekunden! 
Habe ich das so richtig gecheckt?
Und genau so brauche ich das, mir reicht die Differenz in Sekunden 
völlig aus!

von Joachim B. (jar)


Lesenswert?

perfekt verstanden!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.