2016-06-20 6 views
0

(Unix) Der Timestamp-Bereich wird durch zwei Zeitstempel definiert. Ich brauche alle Mitternacht (00:00:00) in diesem Bereich unabhängig von der Sommer-/Winterzeit.Finden von Midnights aus dem Timestamp-Bereich

//Timestamp range 
$starttime = 1465997243; //Wed, 15 Jun 2016 15:27:23 CEST 
$endtime = 1466321567; //Sun, 19 Jun 2016 07:32:47 CEST 

//Expected output 
1: 1466028000 //Thu, 16 Jun 2016 00:00:00 CEST 
2: 1466114400 //Fri, 17 Jun 2016 00:00:00 CEST 
3: 1466200800 //Sat, 18 Jun 2016 00:00:00 CEST 
4: 1466287200 //Sun, 19 Jun 2016 00:00:00 CEST 

Hauptproblem ist in verschiedenen Zeitzone und Sommer/Winter Zeit. Kennen Sie eine effektive Lösung (keine Sommer-/Winterzeitumschaltung, Zeitzonenverschiebung)?

Antwort

1

Sie so etwas wie das

$starttime = 1465997243; //Wed, 15 Jun 2016 15:27:23 CEST 
$endtime = 1466321567; //Sun, 19 Jun 2016 07:32:47 CEST 
while(date('z',$starttime)<date('z',$endtime)){ 
    echo $starttime = strtotime(date('Y-m-d',$starttime).' +1 day midnight'),"<br>"; 
} 
+0

WOW welche Art von schwarzer Magie Sie verwenden? Es funktioniert gut. Ich habe keine Ahnung, wie man mit Winterzeit testet, aber ich denke, es sollte funktionieren. –