• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Urwigo: wie speichert man eine Liste von zB Uhrzeiten?

bodenseepingu

Geomaster
Du musst ein wenig aufpassen.

Wenn du die lokale Zeit nimmst, dann kann man problemlos an einem Garmin die Uhrzeit verstellen und zu einer anderen Zeit starten - es gibt einen WIG in der Nähe von Ingolstadt, der war so programmiert.

Das Ergebnis: ich konnte durch Uhrzeit verstellen auf dem Garmin früher starten. Allerdings konnte ich auf einem Android erst 2 Stunden später als vorgesehen starten, da die verwendete Funktion eben GMT-Zeit verwendet hat.

daher würde ich empfehlen, sofort auf GMT zu setzen - du müsstest auch mit dem daylight saving flag (Sommerzeit) arbeiten können.
"Am besten jetzt noch schnell vor der Zeitumstellung eine Testcartridge machen (orientiere dich an der bestehenden) - ich denke du müsstest
Code:
datetime = os.date("!*t")
verwenden. Wenn du die Testcartridge (z.b. abgeleitet von der hier gepublishten) veröffentlichst, können sicherlich I-Phone, Garmin- und Android-Nutzer die mal testen...


Lua-Referenz-Manual:
os.date([format[,time]])

Returns a string or a table containing date and time, formatted according to the given string format.

If the time argument is present, this is the time to be formatted (see the os.time function for a description of this value). Otherwise, date formats the current time.

If format starts with '!', then the date is formatted in Coordinated Universal Time. After this optional character, if format is the string "*t", then date returns a table with the following fields: year (four digits), month (1--12), day (1--31), hour (0--23), min (0--59), sec (0--61), wday (weekday, Sunday is 1), yday (day of the year), and isdst (daylight saving flag, a boolean).

If format is not "*t", then date returns the date as a string, formatted according to the same rules as the C function strftime.

When called without arguments, date returns a reasonable date and time representation that depends on the host system and on the current locale (that is, os.date() is equivalent to os.date("%c")).
 

ardane

Geocacher
bodenseepingu schrieb:
... if format is the string "*t", then date returns a table with the following fields: year (four digits), month (1--12), day (1--31), hour (0--23), min (0--59), sec (0--61),...
Eh? Wirklich 0-61 sec?
 

jonny65

Geomaster
Ah, brauch ich nicht noch einen neuen Thread aufmachen. Da ist noch ne Antwort offen, die mich auch mal interessieren würde. Es soll nicht grundsätzlich "verboten" sein auch tagsüber zu spielen, aber es ist ein Nacht Wherigo und es soll anfangs wenigstens ein Hinweis kommen so wie "Einige Stationen können bei Tageslicht nur sehr schwer absolviert werden ... willst du wirklich spielen ? bla bla bla"
Aufhänger dafür soll eine Uhrzeit sein, meinetwegen 21 Uhr. Ich will das aber wasserdicht machen, d.h natürlich AUCH wenn jemand AM/PM eingestellt hat und da ist 9:30 Uhr (PM) ja ok.
Also kurzum, egal welches Zeitformat und ob Sommer- oder Winterzeit, es soll VOR 21 Uhr (9:00 P.M) der Hinweis erscheinen. os.date ist da ja nur die halbe Miete.

Hat jemand da eine Lösung ?
 

bodenseepingu

Geomaster
Wenn du genau weiß, welches Gerät das Datum wie auswertest, kannst du natürlich mit IF's entsprechend das machen. Ansonsten kann man natürlich auch vereinfachte Logiken reinnehmen. Nimm die Funktion, die auf allen Geräten die UTC-Zeit liefert - dann läuft da schonmal nix falsch (ich denk mal dass es da ein Parameter gibt, der UTC liefert).

Dann kannst ja abhängig vom Monat die Startzeit festlegen und ne Warnung ausgeben - ist ja schließlich im Dezember schon um 17 Uhr dunkel und im Juni erst um 22 Uhr (21 Uhr wenn man sich auf UTC bezieht).

Ich fands mal nicht sonderlich amüsant, im Winter einen Nacht-WIG um 22 Uhr beginnen zu müssen - auch aufgrund des Android-Bug's der durch den Bezug auf UTC noch ne Stunde falsch war...
 
Oben