datum uit weeknummer

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.267
Hoi,
dit levert 4 jan 2014 op zou 3 jan moeten zijn
PHP:
<?php
// Haal datum uit weeknummer
 $weeknummer = '01';
 function change_date($week_num, $day) {
      $timestamp    = strtotime(date('Y') . '-W' . $week_num . '-' . $day);
      return $timestamp;
    }
$timestamp = change_date($weeknummer , 6); //1e is weeknummer ,0 is maandag. 7 is zondag
    echo  " van zaterdagavond ".date('d-F-Y', $timestamp) . " </h1>";

?>

$weeknummer = '53 '; levert wel de gewenste 3 jan op , maar wij gebruiken week 1 miet 53??!!
http://www.kalender-365.nl/kalender-2015.html
 
4 Jan 2014 is correct volgens de agenda van kalender-365, ik denk dat je bij 2015 hebt gekeken (daar is het 3 jan), maar in 2014 is het 4 jan.

P.S. In je code staat dat 0 = maandag, 7 = zondag, maar het lijkt me dat het 1 = maandag moet zijn.

(Hier is mijn uitwerking)
PHP:
<?php

// Haal datum uit weeknummer
$weeknummer = '01';
function change_date($week_num, $day) {
 	$d = new DateTime();
 	$d->setISODate(intval(date('Y')), intval($week_num));
 	$d->add(new DateInterval(sprintf('P%dD', $day - 1)));
 	return $d->format('d-F-Y');
}

$timestamp = change_date($weeknummer , 6); //1e is weeknummer ,1 is maandag. 7 is zondag
echo  ' van zaterdagavond ' . $timestamp . ' </h1>';

?>
 
Laatst bewerkt:
Klopt ...:thumb: , maar door einde van het jaar was ik met 2015 bezig..zitten nog steeds in 2014 :thumb:

Bedankt !

Is het mogelijk er nog een jaar in te maken, kan ik het makkelijker testen in de toekomst

$weeknummer = '53';
$jaar = 2014............
 
Als ik je code aanpas kom ik hierop uit:

PHP:
<?php
// Haal datum uit weeknummer
 $weeknummer = '01';
 $jaar = '2015';
 function change_date($year, $week_num, $day) {
      $timestamp    = strtotime($year . '-W' . $week_num . '-' . $day);
      return $timestamp;
    }
$timestamp = change_date($jaar, $weeknummer, 6); //1e is weeknummer, 1 is maandag, 7 is zondag
    echo  " van zaterdagavond ".date('d-F-Y', $timestamp) . " </h1>";
 
?>
 
Nou krijgen we ook 03-January in 2015

PHP:
$weeknummer = '01';
 $jaar = '2015';.....................

Hartstikke bedankt
 
Dit zag ik ergens. Uitgebreid, dat wel maar ik denk dat het goed werkt.
Het geeft de begindatum(ma.) en einddatum (zo.) van een weeknummer.
PHP:
function getStartAndEndDate($week, $year) {
    date_default_timezone_set('Europe/Amsterdam');
    $firstWeekThursDay = date('W',strtotime("January $year first thursday",date(time())));
    if($firstWeekThursDay == "01") {
        $time = strtotime("January $year first thursday",date(time()));
    } else {
        $time = strtotime("January 1 $year", time());
    }
    $time = ($time-(4*24*3600))+(((7*$week)-6)*24*3600);
    $return[0] = date('d-m-Y', $time);
    $time += 6*24*3600;
    $return[1] = date('d-m-Y', $time);
    return $return;
}
$arr = getStartAndEndDate("1", "2015");
echo $arr[0] . "<br />" . $arr[1];
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan