![]() |
PHP : datum bepalen aan de hand van dag van het jaar
heb het me al een tijdje zitten afvragen, hoe doe ik het volgende met date() en mktime():
date("z") = dag van het jaar, dus 0 - 365 dus vandaag : date("z") = 24; hoe kom ik nu, met bv. mktime() terug naar wat voor datum bij dat dagnummer hoort? duidelijk is dat dit niet werkt : Code:
$day = date("z"); |
Met alleen het dagnummer kun je weinig beginnen; je moet ook rekening houden met het jaar (ivm schrikkeljaren).
|
In principe moet je wel kunnen mktime()en, maar dan moet je dus wel het jaar meegeven, denk ik.
Manuzhai |
Ik weer eens lief zijn en iemand proberen te helpen door een lap code te typen http://forum.scholieren.com/biggrin.gif
Code:
// Functie komt van PHP.NET Veel suc6! |
Grappig. PHP rekent namelijk zelf automatisch de juiste dag uit. Probeer 300-01-2002 maar eens.
|
Citaat:
thnx! |
Citaat:
Code:
$today = date("z"); |
Citaat:
|
Zoals voor alle leuke dingen in het leven hebben slimme mensen hier ook weer een algoritme voor bedacht. Ik ga je geen code geven maar hieronder staat de pseudo:
// Gebruik de volgende formule om van // een datum naar een dag van de week te // om te rekenen : ( jaar + jaar / 4 + dag + maandgetal ) / 7 ; // Hier neem je de rest uit (->modulo="%"=restdeling) // Jaar is laatste twee cijfers van dat jaar // Jaar / 4 -> naar beneden afronden // Dag = dag v.d. maand // Maandgetal : // - Januari : 1 // - Februari : 4 // - Maart : 4 // - April : 0 // - Mei : 2 // - Juni : 5 // - Juli : 0 // - Augustus : 3 // - September : 6 // - Oktober : 1 // - November : 4 // - December : 6 // Schrikkeljaar -> Alle maandgetallen++ ; // De rest v.d. deling geeft de dag aan: 1-> Zondag, 2 -> Maandag, ..... 0-> Zaterdag // Alles wat je hoeft te doen is de hele formule omkeren (tip: php is handig met arrays dus voor de maandgetallen gebruik je die // (Vergeet niet de teller van de breuk te "++" -en als je een datum na 01012001 uit wil rekenen. |
Als je in een jaar zit dat weer deelbaar is door 400 dan is er juist weer geen schrikkeljaar ofzo....was nog zo'n uitzonderings regel
|
Owja de bovenstaande code is voor als je de dag van de week hebt en dan de datum moet hebben. Als je van de dag in het jaar uitgaat moet je het als volgt aanpakken:
// Een jaar bestaat uit 12 maanden // Deze maanden hebben verschillende aantallen dagen (31/28 of 29/31/30/31 enz.) // Controleer in welke maand de dag die je moet hebben valt // Zoek de bijbehorende week dr bij // En dan heb je de dag ook zo te pakken // ALs je codevoorbeelden moet hebben zeg je het maar mzzzl |
wat jij nou precies wil vertellen Speedo is mij een raadsel, de dag van de week bepalen in PHP kan echt veel makkelijk http://forum.scholieren.com/tongue.gif
functie date() bestaat nie voor nix http://forum.scholieren.com/smile.gif |
Citaat:
|
Alle tijden zijn GMT +1. Het is nu 14:35. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.