login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Date range per week (Opgelost)

Offline levideridder - 06/07/2012 13:56
Avatar van levideridderLid Hallo,

Ik probeer een script te schrijven dat de eerste en de laatste dag van een week weergeeft in volgende notatie: 02/07/2012 - 09/07/2012. Dit is me tot nu toe gelukt met volgend script:

  1. <?php
  2. echo date("d/m/Y",strtotime("last Monday"));
  3. echo " - ";
  4. echo date("d/m/Y",strtotime("first Sunday"));
  5. ?>


Nu zou ik zelf de weeknummer willen meegeven, en niet meer kijken naar vandaag. Met andere woorden als ik
  1. $week = 28
  2. $jaar = date("Y");


meegeef wil ik dezelfde notatie als vorig script krijgen maar dan met de week die ik in $week heb gedefinieerd. In dit geval moet het script volgende notatie teruggeven: 09/07/2012 - 15/07/2012.

Iemand een idee?

Levi

3 antwoorden

Gesponsorde links
Offline Maarten - 06/07/2012 14:39
Avatar van Maarten Erelid http://derickre...-week.html
Bedankt door: levideridder
Offline levideridder - 06/07/2012 14:52
Avatar van levideridder Lid Exact wat ik zocht. Bedankt!
Offline icemar - 06/07/2012 16:08
Avatar van icemar Lid Of je kan dit gebruiken


  1. function getDateFromWeek($iWeek, $iYear)
  2. {
  3. // Get a random monday in the requested year
  4. $iRandomDate = mktime(0, 0, 0, 3, 1, $iYear);
  5. // What's the first monday before this random date?
  6. $iMonday = mktime(0, 0, 0, date('n', $iRandomDate), date('j', $iRandomDate)-(date('w', $iRandomDate)-1), $iYear);
  7.  
  8. // Get the date of week 1
  9. $iFirstWeek = mktime(0, 0, 0, date('n', $iMonday), date('j', $iMonday) - 7*(date('W', $iMonday)-1), $iYear);
  10. return mktime(0, 0, 0, date('n', $iFirstWeek), date('j', $iFirstWeek) + 7*($iWeek-1), date('Y', $iFirstWeek));
  11.  
  12. }
  13.  
  14.  
  15.  
  16.  
  17. function getEndDateFromWeek($iWeek, $iYear)
  18. {
  19. // Get a random sunday in the requested year
  20. $iRandomDate = mktime(0, 0, 0, 3, 1, $iYear);
  21. // What's the first sunday before this random date?
  22. $iSunday = mktime(0, 0, 0, date('n', $iRandomDate), date('j', $iRandomDate)-(date('w', $iRandomDate)-7), $iYear);
  23.  
  24. $iWeekend = mktime(0, 0, 0, date('n', $iSunday), date('j', $iSunday) - 7*(date('W', $iSunday)-1), $iYear);
  25.  
  26. return mktime(0, 0, 0, date('n', $iWeekend), date('j', $iWeekend) + 7*($iWeek-1), date('Y', $iWeekend)) ;
  27. }
  28.  
  29.  
  30.  
  31. echo date('d/m/Y', getDateFromWeek(date("W"), date("Y"))) . " - " . date('d/m/Y', getEndDateFromWeek(date("W"), date("Y")));
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.204s