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

SELFPHP


Professional CronJob-Service

Suche



iOS DevCon 2013



Software Architecture Summit 2013


Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 

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 ::

Das Zend Framework

Das Zend Framework 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 Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.11.2007, 19:14:19
wohlgemuth wohlgemuth ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 5
wohlgemuth befindet sich auf einem aufstrebenden Ast
date funktion, KW ermitteln aus Tag des jahres ??

Hallo Profis, und alle anderen,
Ich habe hier ein kleines problem, wo ich aber nicht weiß wo es liegt.

Ich übergebe an ein PHP Scrip var´s
$tag, $monat, $jahr

$tagbis, $monatbis, $jahrbis

ich ermittle aus diesen daten den Tag des Jahres,

$tdj_a = date ("z", mktime(0,0,0,$monat,$tag,$jahr));

so nun habe ich den Tag des jahres, z.b. Tag 246 des Jahres 2010

nun will ich aus diesem Tag des Jahres wieder zu einem späterem zeitpunkt, die KW ermittel,


$kw = date ("W", mktime(0,0,0,$tdj_a,$jahr));

funzt aber NICHT,
WARUM??????

wenn ich das $jahr aus der letzten mktime raus lasse, funzt es,
aber ich bekomme dann ja den Tag 246, aus dem aktuellem Jahr zurück,
was ich ja nicht will.

WER KANN MIR HIER Helfen.
Ich habe es so kompliziert gemacht, weil ich den tag des Jahres mit $i hoch zählen lasse,
bis zu zeit X,
ich brauche alle KW´s vom tdj_a bis zeit X.

In der Datenbank werden die daten in getrennten Spalten eingetragen, also ohne datetime in der MYSQL,
und so soll es auch erst mal bleiben,
weil ich jetzt nicht in einer woche alles umschreiben will.

BITTE UM HILFE:

DANKE
Mit Zitat antworten
  #2  
Alt 28.11.2007, 19:36:22
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.043
vt1816 befindet sich auf einem aufstrebenden Ast
vt1816 eine Nachricht über Skype™ schicken
AW: date funktion, KW ermitteln aus Tag des jahres ??

Willkommen hier im Forum!


Zitat:
Zitat von wohlgemuth Beitrag anzeigen
...

$kw = date ("W", mktime(0,0,0,$tdj_a,$jahr));

...
Beachte die andersartige Anordnung der Argumente. Diese unterscheidet sich von der Reihenfolge des Unix-Befehls mktime(). Das ist eine häufige Fehlerursache in Scripts.

Der 4. Parameter ist der Monat, der 5. Parameter der Tag und der 6. Paramter das Jahr. Dies steht im Widerspruch zu Deinen Parametern.
__________________
Gruss vt1816


Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (Skype, Mail, PN, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!

Geändert von vt1816 (28.11.2007 um 19:37:23 Uhr)
Mit Zitat antworten
  #3  
Alt 28.11.2007, 19:42:32
wohlgemuth wohlgemuth ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 5
wohlgemuth befindet sich auf einem aufstrebenden Ast
AW: date funktion, KW ermitteln aus Tag des jahres ??

hallo und danke für die schnelle antwort,
Aber warum funktioniert es, wenn ich

mktime(0,0,0,1,$tdj_a)

schreibe?
Hm,,
es wäre soooo toll, wenn ich es könnte was ich hier mache.
:-)

Wäre es vieleicht für meine verdrehten zwecke, einen unix zeit stempel erzeuge, und den dann höher zähle,
und dann daraus alles ermittle was ich haben will ??
Mit Zitat antworten
  #4  
Alt 28.11.2007, 19:43:35
wohlgemuth wohlgemuth ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 5
wohlgemuth befindet sich auf einem aufstrebenden Ast
AW: date funktion, KW ermitteln aus Tag des jahres ??

oder besser gefragt, wie kann ich aus dem tag des jahres, das datum ermitteln ???
Mit Zitat antworten
  #5  
Alt 28.11.2007, 21:45:09
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 44
Beiträge: 1.013
defabricator befindet sich auf einem aufstrebenden Ast
AW: date funktion, KW ermitteln aus Tag des jahres ??

Zitat:
Aber warum funktioniert es, wenn ich

mktime(0,0,0,1,$tdj_a)

schreibe?
Weil die Funktion so ausgelegt ist. Benutz sie einfach.
__________________
Wat der Bauer nich kennt, dit frisster nich.
Mit Zitat antworten
  #6  
Alt 28.11.2007, 22:27:11
wohlgemuth wohlgemuth ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 5
wohlgemuth befindet sich auf einem aufstrebenden Ast
AW: date funktion, KW ermitteln aus Tag des jahres ??

Zitat:
Zitat von defabricator Beitrag anzeigen
Weil die Funktion so ausgelegt ist. Benutz sie einfach.

HM.....

ich weiß zwar nicht viel,

aber so eine antwort, kannste dir schenken.

Wenn du nicht helfen willst, dann schreib doch garnichts.

Friss und stirb,
ne
damit kann keiner was anfangen.

Der tag des Jahres gibt ja nicht in JEDEM Jahr das gleiche datum aus,

zumindest nicht nach dem 58 sten Tag in einem Schaltjahr.
oder irre ich mich da ????????
Mit Zitat antworten
  #7  
Alt 29.11.2007, 00:08:32
wohlgemuth wohlgemuth ist offline
Anfänger
 
Registriert seit: Nov 2007
Beiträge: 5
wohlgemuth befindet sich auf einem aufstrebenden Ast
AW: date funktion, KW ermitteln aus Tag des jahres ??

Ich wollte nur kurz bescheid sagen,
Ich habe eine andere lösung gefunden,

wenn jemand wissen will wie ich es gelöst habe.

(bitte um rücksicht, anfänger code, aber er funzt)

if ($tag <> $tagbis or $monat <> $monatbis) {
$tdj_a = date ("z", mktime(0, 0, 0, $monat, $tag, $jahr));
$tdj_e = date ("z", mktime(0, 0, 0, $monatbis, $tagbis, $jahrbis));
$jahre = $jahr - 1970;
$schaltjahr = floor($jahre / 4);
$tage_ohne = $jahre * 365;
$tage_mit = $tage_ohne + $schaltjahr;

$i_t = $tdj_a;
while ($i_t <= $tdj_e) {

$time_sec = ($tage_mit + $i_t) * 86400;
$datum = getdate ($time_sec);
$wt = date ("w", mktime(0,0,0,$datum[mon],$datum[mday],$datum[year]));
$kw = date ("W", mktime(0,0,0,$datum[mon],$datum[mday],$datum[year]));


$dbh = mysql_connect($dbhost, $user, $pass);
mysql_select_db($database);
$query_id = mysql_query("select max(id) from termine", $dbh);
$erg_id = mysql_fetch_array($query_id);
$id = $erg_id[0]+1;
$sql_string = "INSERT INTO termine (id, stunde, minute, tag, monat, jahr, wt, kw, VNAME, ZNAME, PLZ, ORT, STR, HAUSNR, Telefon_Privat, status, kundnr, autor, notiz, minutebis, stundebis, tagbis, monatbis, jahrbis, betreuer)
VALUES(". $id .", '". $stunde ."', '". $minute ."', '" . $tag . "', '" . $monat . "', '" . $jahr . "', '" . $wt . "', '" . $kw . "', '" . $VNAME . "', '" . $ZNAME . "', '" . $PLZ . "', '" . $ORT . "', '" . $STR . "', '" . $HAUSNR . "', '" . $Telefon_Privat . "', '" . $status . "', '" . $kundnr . "', '" . $autor . "', '" . $notiz . "', '". $stundebis ."', '". $minutebis ."', '" . $tagbis . "', '" . $monatbis . "', '" . $jahrbis . "', '" . $betreuer . "')";
$query = mysql_query($sql_string, $dbh);
echo mysql_error();

$i_t++; }
}
else
Mit Zitat antworten
  #8  
Alt 29.11.2007, 01:29:32
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 44
Beiträge: 1.013
defabricator befindet sich auf einem aufstrebenden Ast
AW: date funktion, KW ermitteln aus Tag des jahres ??

Zitat:
Zitat von wohlgemuth Beitrag anzeigen
zumindest nicht nach dem 58 sten Tag in einem Schaltjahr.
oder irre ich mich da ????????
Ja und nein. Zum einen wissen date() und mktime() um Schaltjahre. Zum anderen läuft die Zeitrechnung auch am Schalttag "normal" weiter. Es folgen keine zwei gleichen Tage aufeinander und es vergehen "normal" ~86400 Sekunden. Von daher ist mktime(....,$dayOfYear) völlig ausreichend. Ich empfehle immer noch, die Funktion zu verwenden.
Mit Deiner jetztigen Vorgehensweise verläßt Du Dich doch genauso auf blackbox Funktionen, insbesondere mktime(). Ist das nicht genau das, was Du als "friss oder stirb" bezeichnet hast? Du hast nur noch ein bisschen Hokuspokus dazugemischt.

"Weil die Funktion so ausgelegt ist" http://de2.php.net/mktime
Zitat:
mktime() is useful for doing date arithmetic and validation, as it will automatically calculate the correct value for out-of-range input.
PHP-Code:
<?php
$dayOfYear 
62;
for(
$year=1988$year<2010$year++) {
    
$ts mktime(12001$dayOfYear$year);
    
printf("%4d - %s - %02d - %s<br />\n"$yeardate('d.M.Y'$ts), date('W'$ts), date('l'$ts));
}
p.s.: zu $datum[mon] solltest Du Dir mal http://de.php.net/language.types.arr...es.array.donts durchlesen
__________________
Wat der Bauer nich kennt, dit frisster nich.

Geändert von defabricator (29.11.2007 um 01:40:02 Uhr)
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Textfelder per Funktion überprüfen juergen HTML, CSS und JavaScript Help! 2 06.11.2006 01:43:28
Firefox 1.5 Funktion angeblich nicht definiert Andes HTML, CSS und JavaScript Help! 4 28.07.2006 21:55:36
Formularwerte einer Funktion übergeben? wemi PHP für Fortgeschrittene und Experten 6 15.02.2005 08:59:04
Date Funktion Baschtl HTML, CSS und JavaScript Help! 19 21.09.2004 16:08:39
Fehler in Funktion Wauzy PHP für Fortgeschrittene und Experten 2 02.12.2003 18:17:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:15:58 Uhr.


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


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