dag van de maand

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.267
Hallo

Dit is een stukje javascript.
Code:
    else if (cmonth >= 1 && cday == NthDay(3, sat, cmonth, cyear))   // 3e zaterdag vd maand
		return "<font color=#000>Test<br /><br />21.00u tot 24.00u</font>";

Op de 3e zaterdag van elke maand wordt dus tekst op beeldscherm weergegeven,
nu wil ik weten of dit met php ook kan , dus b,v elke 3e zaterdag van de maand, uiteraard kan ik een datum ingeven , maar dat is hier niet de bedoeling.


Ik doe het nou met weeknummers, maar bovenstaande zou makkelijker zijn
Code:
         case (date("W") == 33&& date("w") == 6 && date ("H") >= 3): // 3e zat v/d maand  
      $dag = "test";
   break;
 
Laatst bewerkt:
Het maken en vergelijken van data is niet altijd even eenvoudig, maar gelukkig zijn er erg veel datum-gerelateerde functies in php zodat je bijna alles op tijd gebied met elkaar kunt vergelijken. Ik denk dat je het beste van zowel de huidige datum (vandaag) en de derde zaterdag van de huidige maand een timestamp kunt maken en die twee met elkaar kunt vergelijken. Bijvoorbeeld zo:
PHP:
<?php
	if (mktime(0,0,0,date("n"),date("d")) == strtotime("third saturday",mktime(0,0,0,date("n"),1))) {
		echo "derde zaterdag";
	}
?>
 
Flitsflitsflits , bedankt voor je antwoordt,

maar als ik het goed heb moet ik in jouw voorbeeld nog steeds een "datum" ingeven

(third saturday)

ik kwam dit zonet nog tegen
Code:
$weekNum = date("W") - date("W",strtotime(date("Y-m-01"))) + 1;

alleen moet ik hier nog een dag aan toevoegen..als het b,v de 3e week van de maand is en de dag is zaterdag ...
 
Laatst bewerkt:
Nee, je hoeft (bij mijn code) géén datum in te vullen. De drie date() functies geven namelijk de huidige maand/dag terug (waarbij de klok van de server gebruikt wordt) en daar wordt dan verder mee gerekend. Het is dus niet nodig om een datum in te vullen. Wat betreft "third saturday" - het mooie aan strtotime() is dat je in het engels vragen kunt stellen. In dit geval wordt eerst de huidige maand berekend (mktime) en vervolgens gaat php voor die maand bekijken wat de derde zaterdag in die maand is.
 
Bedankt...nu duidelijk:thumb:

wat gaat hier fout ?? of kan dit niet dubbel, verder kan ik er ook een tijd aanhangenb,v 2e zaterdag van de maan na 15.00u

<?php
if (mktime(0,0,0,date("n"),date("d")) == strtotime("second saturday",mktime(0,0,0,date("n"),1))) {
echo "tweede zaterdag";
}
else (mktime(0,0,0,date("n"),date("d")) == strtotime("thirdsaturday",mktime(0,0,0,date("n"),1))) {
echo "derde zaterdag";
}
?>
 
"thirdsaturday" moet zijn "third saturday" en als je bij een else een extra (of andere) voorwaarde meegeeft moet je een elseif gebruiken. Om te controleren of het later dan 15:00 is, kun je date("H") gebruiken (H = uur van de dag 00-23)
PHP:
<?php
    if (mktime(0,0,0,date("n"),date("d")) == strtotime("second saturday",mktime(0,0,0,date("n"),1)) && date("H") >= 15) {
        echo "tweede zaterdag, na 15:00";
    } elseif (mktime(0,0,0,date("n"),date("d")) == strtotime("third saturday",mktime(0,0,0,date("n"),1)) && date("H") >= 15) {
        echo "derde zaterdag, na 15:00";
    }
?>
 
Bedankt ! :)





zat overigens hier wat mee te klooien (niet belangrij meer ),,geeft uitkomst week een en niet week 2


$weekNummer = (mktime(0,0,0,date("n"),date("d")) == strtotime("second saturday",mktime(0,0,0,date("n"),1))) ;


echo $weekNummer ;
 
Nee, het geeft het resultaat van de vergelijking, die is true oftewel 1 (het is vandaag de tweede zaterdag van april).
 
Thanks !

flitsflitsflits ..bedankt , zeker ook voor de uitgebreide toelichting :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan