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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
26.07.2004, 10:27:12
|
Anfänger
|
|
Registriert seit: May 2004
Beiträge: 29
|
|
Eigene Datumsfunktion geht auf dem Server nicht
Hallo,
ich habe hier etwas zum Zähne ausbeißen!
Ich habe mir eine eigene Funktion geschrieben, die mir bei übergabe der gewünschten Kalenderwoche, dass Datum von dem Montag dieser Kalenderwoche zurück gibt. Diese Funktion funktioniert einwandfrei bei mir Local! Leider aber nicht auf dem Server online! Er gibt ein völlig falsches Datum an! Ich begreife das nicht.
Ich sende hier mal meine Funktion mit nem Beispiel. Dann könnt ihr mal knobeln:
FUNKTION:
PHP-Code:
function KW2Weekday($KW, $Format)
{
// Wann war der 01.01.?
$jan1 = mktime(12, 0, 0, 1, 1, 2001);
// Wann ist Montag?
$mon[1] = $jan1 + (1 - date('w', $jan1)) * 24 * 3600;
while (date('W', $mon[1]) != 1)
$mon[1] += (7 * 24 * 3600);
// Hochzählen solange Jahr aktuell ist
for ($i = 1; $i <= 52; $i++)
$mon[] = $mon[$i] + 7 * 24 * 3600;
return date($Format, $mon[$KW]);
}
AUFRUF:
PHP-Code:
$KW = 31;
$Wochenbeginn= call_user_func("KW2Weekday",$KW, 'd.m.Y');
ERGEBNIS:
bei mir Local: 26.07.2004 -> Richtiges Datum
auf dem Server: 01.08.2005 -> Falsches Datum
Muss man das begreifen?! :-
Bin für jede Hilfe dankbar!
__________________
Greez
DanielEXQ
|
26.07.2004, 10:49:26
|
|
Junior Member
|
|
Registriert seit: May 2004
Ort: Köln
Alter: 43
Beiträge: 226
|
|
Schau mal ob das hier funktioniert:
PHP-Code:
<?php
function erstekw($jahr) {
$erster = mktime(0,0,0,1,1,$jahr);
$wtag = date('w',$erster);
if ($wtag <= 4) :
$montag = mktime(0,0,0,1,1-($wtag-1),$jahr);
else :
$montag = mktime(0,0,0,1,1+(7-$wtag+1),$jahr);
endif;
return $montag;
}
function mzukw($kw,$jahr) {
$erstermontag = erstekw($jahr);
$mon_monat = date('m',$erstermontag);
$mon_jahr = date('Y',$erstermontag);
$mon_tage = date('d',$erstermontag);
$tage = ($kw-1)*7;
$mzukw = mktime(0,0,0,$mon_monat,$mon_tage+$tage,$mon_jahr);
return $mzukw;
}
mzukw(32,2004);
__________________
yozek
King of my castle - 127.0.0.1
Computer befreien das Denken vom Rechnen
|
26.07.2004, 13:04:35
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Re: Eigene Datumsfunktion geht auf dem Server nicht
Zitat:
Original geschrieben von DanielEXQ2
Hallo,
ich habe hier etwas zum Zähne ausbeißen!
Ich habe mir eine eigene Funktion geschrieben, die mir bei übergabe der gewünschten Kalenderwoche, dass Datum von dem Montag dieser Kalenderwoche zurück gibt. Diese Funktion funktioniert einwandfrei bei mir Local! Leider aber nicht auf dem Server online! Er gibt ein völlig falsches Datum an! Ich begreife das nicht.
Ich sende hier mal meine Funktion mit nem Beispiel. Dann könnt ihr mal knobeln:
FUNKTION:
PHP-Code:
function KW2Weekday($KW, $Format)
{
// Wann war der 01.01.?
$jan1 = mktime(12, 0, 0, 1, 1, 2001);
// Wann ist Montag?
$mon[1] = $jan1 + (1 - date('w', $jan1)) * 24 * 3600;
while (date('W', $mon[1]) != 1)
$mon[1] += (7 * 24 * 3600);
// Hochzählen solange Jahr aktuell ist
for ($i = 1; $i <= 52; $i++)
$mon[] = $mon[$i] + 7 * 24 * 3600;
return date($Format, $mon[$KW]);
}
AUFRUF:
PHP-Code:
$KW = 31;
$Wochenbeginn= call_user_func("KW2Weekday",$KW, 'd.m.Y');
ERGEBNIS:
bei mir Local: 26.07.2004 -> Richtiges Datum
auf dem Server: 01.08.2005 -> Falsches Datum
Muss man das begreifen?! :-
Bin für jede Hilfe dankbar!
|
Habe mir dein Script jetzt nicht genauer angesehen, aber könnte es sein, dass die Uhr des Servers vielleicht falsch gestellt ist?
Lass dir doch einfach mal mit
PHP-Code:
<?php
echo date("d.m.Y");
?>
das aktuelle Datum ausgeben. Wenn das falsch ist, weißt du schon mal, dass die Uhrzeit des Servers falsch ist und dass der Fehler wohl nicht in deinem Script liegt.
|
26.07.2004, 13:08:44
|
Anfänger
|
|
Registriert seit: May 2004
Beiträge: 29
|
|
Re: Re: Eigene Datumsfunktion geht auf dem Server nicht
Zitat:
Original geschrieben von xabbuh
Habe mir dein Script jetzt nicht genauer angesehen, aber könnte es sein, dass die Uhr des Servers vielleicht falsch gestellt ist?
Lass dir doch einfach mal mit
PHP-Code:
<?php
echo date("d.m.Y");
?>
das aktuelle Datum ausgeben. Wenn das falsch ist, weißt du schon mal, dass die Uhrzeit des Servers falsch ist und dass der Fehler wohl nicht in deinem Script liegt.
|
Habe ich schon getestet. mit date() gibt der server auch das richtige Datum aus. Es muss was anderes sein.
__________________
Greez
DanielEXQ
|
26.07.2004, 13:18:38
|
Anfänger
|
|
Registriert seit: May 2004
Beiträge: 29
|
|
Zitat:
Original geschrieben von yozek
Schau mal ob das hier funktioniert:
PHP-Code:
<?php
function erstekw($jahr) {
$erster = mktime(0,0,0,1,1,$jahr);
$wtag = date('w',$erster);
if ($wtag <= 4) :
$montag = mktime(0,0,0,1,1-($wtag-1),$jahr);
else :
$montag = mktime(0,0,0,1,1+(7-$wtag+1),$jahr);
endif;
return $montag;
}
function mzukw($kw,$jahr) {
$erstermontag = erstekw($jahr);
$mon_monat = date('m',$erstermontag);
$mon_jahr = date('Y',$erstermontag);
$mon_tage = date('d',$erstermontag);
$tage = ($kw-1)*7;
$mzukw = mktime(0,0,0,$mon_monat,$mon_tage+$tage,$mon_jahr);
return $mzukw;
}
mzukw(32,2004);
|
Danke yozek. Es funktioniert so. Ich weiß zwar nicht warum, aber es geht.
__________________
Greez
DanielEXQ
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:03:00 Uhr.
|