Rechnet der Datepicker falsch?
Ich habe ein Problem mit dem Datepicker im DCA. Folgende Datumsangaben verwandte ich in meinem Test, zuerst das eingebene Datum, danach der gespeicherte Timestamp und in Klammern das aufgrund des Timestamps ermittelte Datum:
Code:
05.10.1947 = -701920800 (unixtime.de: 05.10.1947 - 00:00:00)
06.10.1947 = -701830800 (unixtime.de: 06.10.1947 - 00:00:00)
07.10.1947 = -701744400 (unixtime.de: 07.10.1947 - 00:00:00)
Wenn man jetzt die Differenzen ermittelt, kommt man zwischen 5. und 6.10.47 auf 90.000 Sekunden, also 1 Stunde mehr! Und genau das wird zum Problem. Beim Übermitteln der Timestamps an einen anderen Server (vom DOSB) über eine API, errechnete der Server für den ersten Timestamp den 04.10.1947 23:00:00. Das finde ich soweit richtig, weil es ja 90.000 Sekunden sind.
Die IT des DOSB-Servers konnte keine Unregelmäßigkeiten feststellen und schlugen mir vor, einen Timestamp weit entfernt von 00:00 Uhr zu übermitteln, um diesen Problemen aus dem Weg zu gehen.
Wer rechnet denn nun hier falsch? Warum sind da 90.000 statt 86.400 Sekunden Differenz? Was macht der DOSB-Server richtig und was Contao/unixtime.de falsch - oder umgekehrt?
Liste der Anhänge anzeigen (Anzahl: 1)
Und hier ne Auflistung mit PHP
PHP-Code:
<?php
$years = range(1900, 2020);
echo '<pre>';
foreach($years as $year)
{
echo $year."\n";
for($month = 1; $month <= 12; $month++) {
for($day = 1; $day <= 31; $day++) {
if(checkdate($month, $day, $year))
{
$i++;
$timestamp = strtotime($day.'.'.$month.'.'.$year);
$arrTimestamp[$i] = $timestamp;
if($i > 1 && $arrTimestamp[$i] - $arrTimestamp[$i-1] != 86400)
{
echo date('D d. M Y', $timestamp).' - '.($arrTimestamp[$i] - $arrTimestamp[$i-1])."\n";
}
}
}
}
}
echo '</pre>';
?>
Anhang 18439