Avatar billede xited Praktikant
28. januar 2008 - 17:44 Der er 20 kommentarer og
3 løsninger

Ugekalender, der viser datoer

Hejsa,

Jeg skal lave et skema der viser om vores sommerhus er lejet ud, og hvad det koster i de forskellige uger...

Hvilken php-kommando kan jeg bruge til at finde ud af hvilke dato en uge starter/slutter, hvor variablen "uge" og "år" er givet?
Avatar billede jakobdo Ekspert
28. januar 2008 - 21:53 #1
Du kan kigge på mktime() og date('w')
Men jeg mener tidligere at have set et lignende emne, hvor det ikke var en god og holdbar løsning det endte med.
Avatar billede xited Praktikant
29. januar 2008 - 14:39 #2
Hvordan helt præcist skal de kædes sammen?
Avatar billede sajbar Nybegynder
29. januar 2008 - 14:46 #3
function week2date($year, $week, $day = 0) {
    // use "strtotime('2007W011')" for Monday "1", of Week 1 ("01") of year 2007 ("2007")
    $string = $year . 'W' . sprintf("%02d", $week) . $day;
    $dates[0] = strtotime($string);
    $string = $year . 'W' . sprintf("%02d", $week) . 7;
    $dates[1] = strtotime($string);
    return $dates ;
}


den funktion har jeg brugt.

den retunerer et array med start datoen og slut datoen på ugen.


Jeg har ikke behov for at give day paramenteren et 1 tal for at få mandag, ved ikke om det har noget med min php opsætning.
Avatar billede sajbar Nybegynder
05. februar 2008 - 14:38 #4
Kunne du bruge det?
Avatar billede xited Praktikant
08. februar 2008 - 01:17 #5
Jeg prøvede, men resultatet bliver underligt...

Jeg har taget det ud af funktionen, for blot at se om jeg laver en dum fejl, men kan ikke finde den...

    $year = 2008;
    $week = 6;
    $day = 0;
    $string = $year . 'W' . sprintf("%02d", $week) . $day;
    $dates = strtotime($string);

    echo"$dates";

...og så outputter den bare "-1"
Avatar billede sajbar Nybegynder
08. februar 2008 - 08:40 #6
hvad sker der hvis du laver en

$dates = week2date(2008,6);

og så laver en:

echo(date("d-m-Y, $dates[0]). "<br>);
echo(date("d-m-Y, $dates[1]). "<br>);
Avatar billede jakobdo Ekspert
08. februar 2008 - 17:44 #7
xited: Har lige testet sajbar's kode her:

<?php
//http://www.eksperten.dk/spm/816918

function week2date($year, $week, $day = 0){
    // use "strtotime('2007W011')" for Monday "1", of Week 1 ("01") of year 2007 ("2007")
    $string = $year . 'W' . sprintf("%02d", $week) . $day;
    $dates[0] = strtotime($string);
    $string = $year . 'W' . sprintf("%02d", $week) . 7;
    $dates[1] = strtotime($string);
    return $dates ;
}

$dates = week2date(2008,5);
echo date('d-m-Y',$dates[0]).'<br />';
echo date('d-m-Y',$dates[1]).'<br />';
?>

Og den virker fint nok.
Avatar billede xited Praktikant
08. februar 2008 - 23:04 #8
jakobdo> Et copy-paste af din post giver dette output:

01-01-1970
01-01-1970
Avatar billede jakobdo Ekspert
09. februar 2008 - 07:30 #9
Avatar billede xited Praktikant
10. februar 2008 - 14:03 #10
Og her hos mig: http://kubuntu.dk/cabris/
Avatar billede xited Praktikant
17. februar 2008 - 22:21 #11
Well, jeg kommer vist ingen vejne... Point?
Avatar billede jakobdo Ekspert
18. februar 2008 - 08:02 #12
Svar
Avatar billede sajbar Nybegynder
18. februar 2008 - 08:10 #13
svar
Avatar billede jakobdo Ekspert
18. februar 2008 - 08:31 #14
sajbar: Og så også en kommentar! :o)
Avatar billede sajbar Nybegynder
18. februar 2008 - 08:46 #15
det er stadigvæk tidligt;)
Jeg har ikke fået min kaffe endnu
Avatar billede xited Praktikant
18. februar 2008 - 19:54 #16
Tak for forslagene... Men har i et bud på hvor fejlen monstro ligger?
Avatar billede showsource Seniormester
18. februar 2008 - 20:39 #17
Måske du skal declare dit array først,

$dates = array();

før værdier tilføjes array'et
Avatar billede jakobdo Ekspert
18. februar 2008 - 21:32 #18
Takker for point.
Avatar billede sajbar Nybegynder
19. februar 2008 - 07:57 #19
takker for point
Avatar billede xited Praktikant
19. februar 2008 - 14:49 #20
showsource> det hjalp ikke! http://kubuntu.dk/cabris/
Avatar billede jakobdo Ekspert
19. februar 2008 - 15:06 #21
Jeg tror måske det kan være denne som fejler:
strtotime($string);
Avatar billede sajbar Nybegynder
19. februar 2008 - 15:11 #22
jeg er enig, prøv at lave en var_dump($string) og derefter en var_dump($strototime($string));
Avatar billede jakobdo Ekspert
19. februar 2008 - 15:13 #23
xited: Her er en lidt anden løsning: http://tzzz.wordpress.com/2006/08/14/8/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester