Forum: Mikrocontroller und Digitale Elektronik Sekunden in das Datum umrechnen.


von Gast (Gast)


Lesenswert?

Hi Leute, gibt es schon bekannten Methoden, um aus einer angegebenen 
Sekundenanzahl, ein Datum zu bilden, ähnlich wie bei den Timestamps 
unter Linux?

Ich muss beim Mikrocontroller sowas implementieren. Der Benutzer soll 
eine Angabe in Sekunden machen können und ich diese für die Real Time 
Clock umrechnen.
z.B. der Benutzer gibt an: 180020
Das muss ich in 2T;2h;20s umrechnen.

von Uwe .. (uwegw)


Lesenswert?

Mit nem bisschen div und mod hättest du das schneller gelöst als du 
diesen Betrag verfasst hast...

von Michael G. (michel)


Lesenswert?

In PseudoCode müsste das ungefähr so aussehen:

s_Anzahl mod 60 = Sekunde
s_Anzahl / 60   = s_Anzahl
s_Anzahl mod 60 = Minute
s_Anzahl / 60   = s_Anzahl
s_Anzahl mod 24 = Stunden
s_Anzahl / 24   = Tage

von Falk B. (falk)


Lesenswert?

@ Uwe ... (uwegw)

>Mit nem bisschen div und mod hättest du das schneller gelöst als du
>diesen Betrag verfasst hast...

Klar, so einen Kalender programmiert man ja auch mal fix in drei 
Minuten. Es wurde anch dem DATUM gefagt.
Aber wer gibt schon die Sekunden ein, um dann ein Datum angezeigt zu 
bekommen? Ist es nicht eher umgkehrt?

MfG
Falk

von Patrick (Gast)


Lesenswert?

>Es wurde anch dem DATUM gefagt

2T;2h;20s ist wohl eher kein Datum, mehr eine Zeitangabe, oder?

von Karl H. (kbuchegg)


Lesenswert?

Grundschule, 3. Klasse oder so:

Du hast 180020 Äpfel und einen ganzen Haufen Kisten.
Jede Kiste fasst 60 Äpfel. Wenn nur volle Kisten zählen,
wieviele Kisten können dann gefüllt werden und wieviele
Äpfel bleiben übrig?

180020 / 60            = 3000   volle Kisten
180020 - ( 3000 * 60 ) = 20     Äpfel bleiben übrig

Wenn auf eine Palette jeweils 60 Kisten passen, wieviele
Paletten können dann mit den vollen Kisten gefüllt werden
und wieviele Kisten bleiben übrig.

3000 / 60              = 50     volle Paletten
3000 - ( 50 * 60 )     = 0      Kisten bleiben übrig

In einen LKW passen jeweils 24 volle Paletten. Wieviele LKW
können mit den Paletten vollständig gefüllt werden und wieviele
Paletten werden nicht in einen LKW verpackt?

50 / 24                = 2      LKW werden vollständig gefüllt
50 - ( 2 * 24 )        = 2      Paletten passen nicht auf den LKW

Zusammengefasst:
Mit 180020 Äpfel werden
   2 LKW vollständig gefüllt (jeder mit 24 Paletten)
   2 Paletten stehen rum (jede mit 60 vollen Kisten)
   0 Kisten konnten in keine Palette eingeordnet werden
   20 Äpfel konnten in keine Kiste gepackt werden

Diskutiere das Ergebnis mit deinem Banknachbarn und
besprich die Relevanz zum Rechnen bei einer Tick-Tack.

:-)

von Patrick (Gast)


Lesenswert?

Ausserdem kann man kaum aus einer Sekundenangabe das aktuelle Datum 
bestimmen.

Für den 01.01.2007 0:00 Uhr müsste man 63261216000 Sekunden eingeben. 
Schaltjahre nicht mit gerechnet und Rechnungsfehler möge man mir 
verzeihen. Und das kann ja wohl kaum die Anforderung sein.

von Peter D. (peda)


Lesenswert?


von Gast (Gast)


Lesenswert?

@  Karl heinz Buchegger (kbuchegg): Danke für die Info, wird mir 
sicherlich weiterhelfen. Es ist schwer zu erklären, was genau ich 
brauche. Aber im großen und ganzen geht es darum, dass die RTC mit einem 
Datum initialisiert wird, welches ich danach ständig mit einem ATmega 
abfragen werde. Der Benutzer kann z.B. angeben nach wie vielen Sekunden 
ein Relais geschaltet werden soll. Erreichen die Register der RTC das 
gewünschte Datum, so schalte ich was.

Werde mir dein Vorschlag anschauen, danke jedenfalls :)

@  Uwe ... (uwegw): Bevor ich losprogrammiere, informiere ich mich 
gerne, ich hoffe du verstehst es als evtl. Ingenieur. Das ist sicherlich 
nicht verkehrt.


Werde mich noch mal melden, wenn ich mich um die Sache Gedanken gemacht 
habe...

von Philipp Karbach (Gast)


Lesenswert?

ich versteh nicht wie das gehen soll und was es bringt, warum muss ne 
schaltuhr das genaue datum wissen?!

von Karl H. (kbuchegg)


Lesenswert?

Philipp Karbach wrote:
> ich versteh nicht wie das gehen soll und was es bringt, warum muss ne
> schaltuhr das genaue datum wissen?!

Weihnachtsbeleuchtung, die jedes Jahr exakt am 24. Dezember
um 17:30 einschalten soll.

Duck und wech :-)

von Gast (Gast)


Lesenswert?

>> warum muss ne schaltuhr das genaue datum wissen?

Karl hat es schon richtig beantwortet, mit einem Unterschied, dass der 
Kunde jeden Tag zu jeder Zeit sein eigenes Weihnachtsfest feiern kann :)

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.