Wochentag eines bestimmten Datums in PHP
duke
- php
Hoi, ich komm irgendwie nicht weiter... Wenn mir irgendeiner sagen kann, was an meiner methode untenstehend fehlt, oder ob der Wochentag eines bestimmten Datums einfacher zu ermitteln ist zu ermitteln ist.
(kurze erklärung: mit den for schleifen erstelle ich ein array $day[<jahr>][<monat>][<tag>] in das fortlaufend die wochentage eingefügt werden, beginnend bei Montag 2007.1.1 bis zum 2010.12.31 ...
in dem script habe ich eigentlich nur noch ein problem, ich muss die schaltjahre ausgrenzen, habe dabei aber eine kleine denkblockade...
wenn mir da jemand weiterhelfen könnte, wäre ich sehr froh.
Vielen Dank schonmal im Vorraus
Grüße duke
<?php
$weekday[1]="Montag";
$weekday[2]="Dienstag";
$weekday[3]="Mittwoch";
$weekday[4]="Donnerstag";
$weekday[5]="Freitag";
$weekday[6]="Samstag";
$weekday[7]="Sonntag";
$wd=1;
for ($y=2007;$y<=2010;$y++) {
for ($m=1;$m<=12;$m++) {
if ($m==2) {
for ($d=1;$d<=28;$d++) {
$day[$y][$m][$d]=$weekday[$wd];
$wd++;
if ($wd==8) $wd=1;
}
}
else {
if ($m>7){
if (fmod($m,2)==1) {
for ($d=1;$d<=30;$d++) {
$day[$y][$m][$d]=$weekday[$wd];
$wd++;
if ($wd==8) $wd=1;
}
}
else {
for ($d=1;$d<=31;$d++) {
$day[$y][$m][$d]=$weekday[$wd];
$wd++;
if ($wd==8) $wd=1;
}
}
}
else {
if (fmod($m,2)==1) {
for ($d=1;$d<=31;$d++) {
$day[$y][$m][$d]=$weekday[$wd];
$wd++;
if ($wd==8) $wd=1;
}
}
else {
for ($d=1;$d<=30;$d++) {
$day[$y][$m][$d]=$weekday[$wd];
$wd++;
if ($wd==8) $wd=1;
}
}
}
}
}
}
echo $day[2007][2][28];
?>
Hallo,
Hoi, ich komm irgendwie nicht weiter... Wenn mir irgendeiner sagen kann, was an meiner methode untenstehend fehlt, oder ob der Wochentag eines bestimmten Datums einfacher zu ermitteln ist zu ermitteln ist.
Was an deiner Methode falsch ist, kann ich dir nicht sagen, sieht aber ziemlich umstaendlich aus.
Versuche es mal hiermit: date
mfG,
steckl
Was an deiner Methode falsch ist, kann ich dir nicht sagen, sieht aber ziemlich umstaendlich aus.
Versuche es mal hiermit: date
damit kann ich aber nicht ermitteln welcher wochentag der zb. 29.02.2008 ist... darum gehts mir ja
grüsse duke
Hallo,
damit kann ich aber nicht ermitteln welcher wochentag der zb. 29.02.2008 ist... darum gehts mir ja
echo date("l", mktime(0, 0, 0, 2, 29, 2008));
Gruß aus Berlin,
Markus
Hallo duke,
Hoi, ich komm irgendwie nicht weiter... Wenn mir irgendeiner sagen kann, was an meiner methode untenstehend fehlt, oder ob der Wochentag eines bestimmten Datums einfacher zu ermitteln ist zu ermitteln ist.
Benutz doch lieber die - reichlich vorhandenen - PHP-eigenen Datumsfunktionen:
Such dir den Timestamp des Tages, an dem du anfangen willst (am Besten mittags, da kann es keine Probleme mit Schaltsekunden etc geben), mach eine Schleife, und erhöh ihn jede Runde um 24*60*60, ermittel mit strftime(%u) den Wochentag.
Viele Grüße aus Freiburg,
Marian
echo $begrüßung;
Benutze [...] Timestamp des Tages, an dem du anfangen willst (am Besten mittags, da kann es keine Probleme mit Schaltsekunden etc geben)
Gibt es auch so nicht, da die Schaltsekunden nicht in den Unix-Timestamp einfließen.
echo "$verabschiedung $name";
Vielen Dank, ihr habt mir alle sehr geholfen..
Grüße Duke