SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.03.2003, 17:46:06
Basilisgg Basilisgg ist offline
Anfänger
 
Registriert seit: Mar 2003
Ort: Swiss
Beiträge: 6
unix timestamp in einer Schleife "raufzählen"

Moin!

Ich habe ein kleines Problem mit dem Unix-Timestamp innerhalb einer Schleife.
Ich möchte vom Start-Datum beginnend eine bestimmte Anzahl "Datums" in ein Array speichern.
Dafür mache ich vom Start Datum einen Timestamp und addiere für jeden Tag 86400 (was ja einem Tag in Unix-Timestamp entspricht) hinzu.
Code:
<?PHP

function GetTimeStamp($Date) //Date --> DD.MM.YYYY
   {
   $date_array = explode(".",$Date);
   $var_year = $date_array[2];
   $var_month = $date_array[1];
   $var_day = $date_array[0];
   $var_timestamp = mktime(0,0,0,$var_month,$var_day,$var_year);
   return($var_timestamp);
   }

$date_min= gettimestamp("12.10.2002");

$anz_tage=60;

$dat_output[]= $date_min;
$day=86400;
$d=0;

while ($d <= $anz_tage-2)
{
	
	$dat_output[] = ($dat_output[$d]+$day);
	$d++;
}

foreach ($dat_output as $dat) //ausgabe hier nur zu testzwecken...
{
	echo date("d.n.y", $dat)."<br>";
}
 
?>
Grundsätzlich läuft auch alles tadellos, bis auf die "kleine" Anomalie, dass bestimmte "Datums" doppelt eingetragen werden. Meistens handelt es sich um den 27.10.2002...
(Das ist nur der entscheidende Ausschnitt aus dem gesamten Code)
Hoffe es kann mir jemand von Euch weiterhelfen.

Merci und mfg
Mit Zitat antworten
  #2  
Alt 05.03.2003, 19:35:05
Greg G Greg G ist offline
Anfänger
 
Registriert seit: Feb 2003
Ort: Hessen
Beiträge: 116
Kann es sein, dass am 27.10.2002 die Zeitumstellung war?
Der generierte Timestamp $date_min= gettimestamp("12.10.2002"); liegt ja bei Mitternacht, so dass der dann um 00:00 am 27.10. rauskommt und um 23:00 am 27.10.
Wird der nächste Tag übersprungen?
Mit Zitat antworten
  #3  
Alt 20.03.2003, 21:45:37
Basilisgg Basilisgg ist offline
Anfänger
 
Registriert seit: Mar 2003
Ort: Swiss
Beiträge: 6
Ich bin ehrlich gesagt nicht sicher, was genau das Problem war.
Das mit der Zeitumstellung liegt aber wirklich sehr nahe, da es jedes Jahr um etwa die gleiche Zeit "passierte"...
Jedenfalls habe ich es dann geschafft, es zu umgehen:
Code:
for ($i = 1; $i <= $anz_tage; $i++)
{ 
        $temp= "+" . $i . " days";
        $time = strtotime($temp,$date_min);
	$dat_out[]=$time;
}
So kann ich auch eine bestimmte Anzahl Tage ab einem bestimmten Datum ausgeben.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:29:31 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt