Unix Timestemp
Übersicht

DüsiBetreff: Unix Timestemp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Moin,
gibt es in Blitzbasic irgendeine Funktion, um an den Unix Timestamp heran zu kommen oder eine andere Zeit in Milisekunden/Sekunden, diese auf allen System gleich ist? (Sofern die Zeit auf dem System richtig eingestellt ist...) MfG |
||
![]() |
Mr.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Unix-Timestamp ist nicht mit Standard-BB-Befehlen zu bekommen. Mit CurrentTime![]() ![]() |
||
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Diese Zeit wird glaube ich von der C++-Funktion time mit dem Parameter 0 in Millisekunden zurückgegeben. Ich könnte dafür schnell ne DLL schreiben, wenn du willst. | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Düsi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Unix-Timestamp ist nicht mit Standard-BB-Befehlen zu bekommen. Mit CurrentTime kannst du aber die Uhrzeit auslesen und mit Millisecs die Zeit, die der Rechner seit einschalten läuft. Aber das dürfte nicht das sein, was du dir wünscht. Die Unix-Zeit müsstest du aber über Internet auslesen können. Vielleicht mal so probieren?
Versuche ich schon seit geraumer Zeit, den Timestemp über ein PHP Skript zu holen und dann Klientseitig "weiter zu zählen"... Aber ganz das wahre ist das auch nicht, das wird mit der Zeit zu ungenau... Und den Timestamp öfters zu "holen" ist dann schon wieder ein sehr großer Geschwindigkeitsverlust. :/ (Hm und CurrentTime bringt mir nicht allzuviel, da ich die Zeit gerne in Sekunden o. Millisekunden hätte, Millisecs() genau so wenig, da die ja fast 100%ig auf jedem System anderst ist und daher taugt es für ein Netzwerkspiel nichts. ![]() Zitat: Diese Zeit wird glaube ich von der C++-Funktion time mit dem Parameter 0 in Millisekunden zurückgegeben. Ich könnte dafür schnell ne DLL schreiben, wenn du willst.
Wäre dir echt super dankbar, wenn du das machen würdest. ![]() |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Download: https://www.blitzforum.de/upload/file.php?id=6402
Verwendung: Code: [AUSKLAPPEN] Print CallDLL("unixtime.dll", "GetUnixTime") WaitKey End Die Zeit ist in Sekunden. |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Düsi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dankeschön ![]() |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wo ist das problem mit MilliSecs? Auf jedem rechner wird der wert beim start des Spiels gespeichert und du hast überall die selbe systemzeit.
Du kannst es auch noch besser syncen indem du zwischen den Peers austauscht, welche lokal-millisecs-zeit beim Master herrscht, und dann ausrechnen, in wie weit man selbst abweicht. |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich versteh's auch nicht ganz. Zumal du ja bei der Lösung noch ne dll mitliefern musst, für etwas, das gar nix bringt =/
Ich hab mir eben (also, vor mehr als einer Stunde ![]() BlitzBasic: [AUSKLAPPEN] Graphics 400, 300, 0, 2 Ich hab das gemacht, um dein "läuft mit der Zeit asynchron"-Argument zu prüfen. Ich hab's also gleich ne Stunde laufen lassen und hatte nach den >60 Minuten gerade mal eine Tickdifferenz von 208ms, das ist meiner Meinung nach noch weitaus genau genug (entspricht einer Differenz von 56Mikrosekunden zwischen einer 1000 MilliSecs()-Sekunde und einer CurrentTime()-Sekunde). Ich weiss zwar nicht, wofür du das ganze einsetzen willst, aber persönlich würde ich die BB-Interne Methode über MilliSecs() oder sogar eine CurrentTime() (Also, TimeStamp wie oben im Code) +MilliSecs() Kombination bevorzugen. mfG PS: Wenn ich den Code oben im "Falsch"-Modus laufen lasse (entsprechende Zeile entkommentieren), habe ich bereits nach 27 Sekunden eine Differenz von >200ms. Vielleicht lag ja da bei deinen Versuchen der Fehler. |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich habe mal eine Frage, kann ich bei dem Timestamp davon ausgehen, dass ein Monat 30 Tage hat, ein Jahr 12 Monate ? Und das jedes Jahr 365 Tage hat ? Oder wie wird das gehandhabt ? Wie machen die Funktionen es, dass wenn ich 39845,00 eingebe, der 01.02.2009 rauskommt ?! Datenbanken ? Komplexer Algo ? Edit hat sich erledigt: Code: [AUSKLAPPEN] Hier die Rechnung:
Gesucht ist Timestamp für den 22.08.2004 20:15 Uhr ! In Sekunden ab dem 01.01.1970: $sec= (60*60*24*365)*34;//34 jahre bis 2003 (incl.) $sec+= (60*60*24)*213;// 213 Tage dieses Jahr bis Ende July $sekunden+= (60*60*24)*21;//21 volle Tage im August $sekunden+= (60*60)*20;//20 volle Std. am 22.Aug $sekunden+= 60*15;//15 min $sekunden+=(60*60*24)*8;//8 Schalttage über die Jahre kein Basic Code ![]() Grüße TimBo |
||
- Zuletzt bearbeitet von TimBo am Di, Aug 04, 2009 18:33, insgesamt einmal bearbeitet
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei einem Unix-Timestamp werden einfach die sekunden seit dem 1.1.1970 0:00 gezählt.
Bei Sekunden ist es auch relativ egal, wie lange die monate sind. Bei der umrechnung UnixTime<->Lesbares Datum muss man natürlich so spielereien wie Schaltjahre und Monats-Längen usw. mit einbeziehen. In wiefern sich das mit Schalt-Sekunden verählt, weiss ich nicht. |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
mein Code funktioniert endlich, alle Bugs gefixt ![]() Schaltsekunden gibt es anscheinend keine. Hab den TimeStamp sowieso gebraucht. Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group