Hallo zusammen, ich versuche mir gerade aus einer vorgebenen Sekundenanzahl ein Datum/Uhrzeit zu berechnen. Irgendwie bin ich etwas verwirrt bezüglich time.h. Hat das schonmal jemand gemacht und könnte mir sagen wie das genau geht? mfg Stephan
Welche Sekundenzahl ist das denn? Ist das die UNIX Zeit, die am 1.1.1970 beginnt? Wenn Du unter irgendeinem UNIX arbeitest, dann mache es nicht selbst, sondern nutze localtime() zur Umrechnung. Wenn Du etwas lernen möchtest kannst Du es natürlich auch selbst ausrechnen, mit Schaltjahr und Schaltsekunden Algorithmus.
Hallo Wolfgang, danke für deine schnelle Antwort. Ich arbeite mit einem STM32 und ja ich hab an diese UNIX-Zeit gedacht.
Hallo! Hast du es denn jetzt mit "localtime" versucht? Ich habe damit super Erfahrungen gemacht! Wenn du es allerdings für ein Schaltjahr ausrechnen willst, dann würde ich dir unbedingt empfehlen, es selbst auszurechnen, nicht nur dann, wenn du etwas lernen willst. Info's zum Schaltjahr bekommst du hier: http://schaltjahr.net LG
mit einem stm32 arbeitest du ja sicherlich mit der batteriegestützten rtc und da gibts schon n schönes beispiel von st. http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00207941.pdf
Wenn man genug Ram überhat kann man einfach in der main() das hier einbauen:
1 | setenv("TZ", "DE-1CEST, M3.5.0 / 2, M10.5.0 / 3", 1); |
2 | tzset(); |
und dann die Sachen von time.h ganz entspannt benutzen. So mach ichs auf nem STM32F4.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.