[php] mktime / Timestamps
Übersicht Sonstiges
 Sonstiges  Smalltalk
 Smalltalk|   | EingeproggtBetreff: [php] mktime / Timestamps |  Di, Apr 26, 2011 21:27 Antworten mit Zitat   | 
|---|---|---|
| Servus, Erbarmt ihr euch, mir mal bei php zu helfen? Ich bin zu dumm mit unix-timestamps zu rechnen obwohl php einem da eh alles anbietet was man sich nur wünschen kann. Mein Problem is, dass am Ende nicht das rauskommt as ich erwarte   Etwas präziser gesagt: Wenn ich mit mktime mir Timestamps erzeuge, die sich genau auf 0 Uhr eines Tages beziehen... und ich die anshcließend durch die Dauer eines Tages dividiere... müsste ich doch eine ganze Zahl rauskriegen? Tu ich aber nicht... oder nicht immer. Ich hab durch herum testen rausgefunden, dass es irgendwie am April liegen dürfte, nach dem 4. Monat eines Jahres wird er "ungenau"? Allerdings auch erst in den späten Siebziger Jahren, zum Test hab ich auch 1973 genommen, da klappte alles ganz fein. Ich lasse mal Code sprechen: Code: [AUSKLAPPEN] <?php
 $one_day=24*60*60; echo '21.4.1973: '.((mktime(0,0,0,4,21,1973)+3600)/$one_day).'<br/>'; echo '21.4.1980: '.((mktime(0,0,0,4,21,1980)+3600)/$one_day).'<br/>'; echo '21.3.1973: '.((mktime(0,0,0,3,21,1973)+3600)/$one_day).'<br/>'; echo '21.3.2011: '.((mktime(0,0,0,3,21,2011)+3600)/$one_day).'<br/>'; echo '21.4.2011: '.((mktime(0,0,0,4,21,2011)+3600)/$one_day).'<br/>'; ?> und das krieg ich dabei raus: Code: [AUSKLAPPEN] 21.4.1973: 1206
 21.4.1980: 3762.9583333333 21.3.1973: 1175 21.3.2011: 15054 21.4.2011: 15084.958333333 Wieso hab ich also vereinzelt keine ganzen Zahlen? Bitte sagt mir nicht das wär ne Rechenungenauigkeit, da sie mir dafür doch etwas "zu bestimmt" auftritt. Es sollte aber auch keine Sommer / Winterzeit sein, die habe ich durch die "+3600" im Code schon "rausgerechnet" (also man beachte dass mein PC auf dem ich teste auf Sommerzeit gestellt ist). Und meine letzte Idee waren die Schaltjahre bzw. allgemein die unterschiedliche Länge eines Monats... aber wenn die da mit "Durchschnitswerten" rechnen, wieso geht dann der März gut? Ich durchschau das jedenfalls nicht mehr und hoffe auf Hilfe. Danke an alle, die sich damit auseinander setzen. mfG, Christoph. | ||
| Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 | ||
|   | BtbN |  Di, Apr 26, 2011 21:43 Antworten mit Zitat   | 
|---|---|---|
| Weil recht häufig schalt-sekunden oder seltener schalt-minuten eingebaut werden, um den Kalender mit der Umlaufbahn synchron zu halten. | ||
|   | Eingeproggt |  Mi, Apr 27, 2011 0:00 Antworten mit Zitat   | 
|---|---|---|
| Danke. Die Antwort ist doch einfacher als ich dachte. Hab schon geglaubt mein Intel Prozessor spinnt   Also wenn ich jetzt Ganzzahlen brauche, dann runde ich einfach und alles ist gut? (Ich machs im Moment so... und hoffe einfach dass ich dadurch nicht irgendwann mal erst recht "Rundungsfehler" einbaue. Halt selbst erzeugte sozusagen...) mfG, Christoph. | ||
| Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 | ||
|   | blackgecko |  Mi, Apr 27, 2011 18:38 Antworten mit Zitat   | 
|---|---|---|
| Laut Wikipedia wurden von 1972 bis jetzt ganze 34 Schaltsekunden eingefügt. Das mit dem Runden wird erst problematisch, wenn insgesamt mehr als ein halber Tag (43200 Sekunden) eingefügt wurde, was bei diesem Tempo etwa im Jahr 51525 der Fall sein wird.   Also runde ruhig   | ||
| So long and thanks for all the fish. Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. | ||
Übersicht
 Sonstiges
 Sonstiges  Smalltalk
 Smalltalk
					Powered by phpBB © 2001 - 2006, phpBB Group
				



