login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Laatste zondag van de maand weergeven

Offline merlin_nl - 16/03/2006 11:45 (laatste wijziging 16/03/2006 12:12)
Avatar van merlin_nlPHP interesse Ik heb onderstaand stukje in elkaar gedraaid om de laatste zondag van de maand op te vragen. Bij bijv mei of oktober werkt het wel, maar bij maart (3) krijg ik de verkeerde dag (een week te vroeg). Iemand enig idee waar dit aan ligt.

  1. <?php
  2.  
  3. $day = 31;
  4. $date = date("w",mktime(0, 0, 0, 3, $day, "Y"));
  5.  
  6. while($date > 0)
  7. {
  8. $day = $day - 1;
  9. $date = date("w",mktime(0, 0, 0, 3, $day, "Y"));
  10. }
  11.  
  12. echo $day;
  13.  
  14. ?>

5 antwoorden

Gesponsorde links
Offline vinTage - 16/03/2006 12:14 (laatste wijziging 16/03/2006 12:15)
Avatar van vinTage Nieuw lid een maand heeft toch niet altijd 31 dagen ?
In februarie is er dus al grote kans dat er een dag of 3 minder inzit (wat dus zo ongeveer een kleine halve week is) als de zondag dan in de "verkeerde" helft van die week valt heb je dus een week verschil.

probeer zoiets er eens in te wurmen.
Offline Joel - 16/03/2006 13:16 (laatste wijziging 16/03/2006 13:18)
Avatar van Joel Eigenaar Gekopieerd en geplakt uit het Kalender script van FangorN:
http://www.site...&id=83

  1. <?php
  2. $fm = 3; //vb de maand maart
  3. // zoek de laatste zondag van de week waarin de maand $fm eindigt
  4. $laatstedag = mktime(0, 0, 0, $fm, date("t", mktime(0, 0, 0, $fm, 1, $fy)),$fy);
  5. if(date("w", $laatstedag)) {
  6. // laatste dag van de maand is geen zondag
  7. $laatstezondag = mktime(0, 0, 0, $fm+1, 7 - date("w",$laatstedag), $fy);
  8. } else {
  9. // laatste dag van de maand valt op een zondag
  10. $laatstezondag = $laatstedag;
  11. }
  12. ?>
Offline merlin_nl - 16/03/2006 16:25 (laatste wijziging 16/03/2006 16:28)
Avatar van merlin_nl PHP interesse ik probeer het te snappen... maar dat lukt dus echt niet! Alle maanden werken uitstekend, behalve maart, ongeacht het jaar.

  1. <?php
  2.  
  3. $year = date("Y");
  4. $month = 3;
  5. $day = cal_days_in_month(CAL_GREGORIAN, $month, $year);
  6.  
  7. $date = date("w",mktime(0, 0, 0, $month, $day, $year));
  8.  
  9. while($date > 0)
  10. {
  11. $day = $day - 1;
  12. $date = date("w",mktime(0, 0, 0, $month, $day, $year));
  13. }
  14.  
  15. echo $day;
  16.  
  17. ?>


Citaat:
Rensjuh edit:
[..code..]tags![/code]
Offline vinTage - 16/03/2006 16:31
Avatar van vinTage Nieuw lid Dat scriptje echoed 26, dat is toch de laatste zondag in maart ? of doe ik iets verkeerd (snappen ofzo) 
Offline merlin_nl - 16/03/2006 16:37 (laatste wijziging 16/03/2006 16:40)
Avatar van merlin_nl PHP interesse ja bij mij is de uitkomst 19 en in 2007 18 

<edit>AAHHH nu zet ik hem online en daar werkt ie wel, zal wel aan me lokale instellingen liggen ofzo

Heb ik daar zoveel tijd ingestoken 

Nou ja iig bedankt voor de feedback, anders was ik er nooit achter gekomen</edit>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.203s