Avatar billede plazm Nybegynder
07. august 2005 - 22:41 Der er 7 kommentarer og
1 løsning

Første dag i måned og antal dage.

Hejsa, lige et par hurtige.
Jeg sidder og er ved at lave en kalender om fra php til javascript og er løbet ind i følgende problem.

jeg har en function
function(year,month) {
  firstday = ;
  totaltdays = ;
}
men jeg ved ikk helt hvordan jeg får udfyldt de 2 variabler.
Jeg vil have at firstday skal indeholde et tal fra 1 til 7 hvor 1 er mandag og 7 er søndag
og totaldays skal indeholde antal dage i den pågælende måned ud fra de to variabler month og year.
Avatar billede nielle Nybegynder
07. august 2005 - 23:03 #1
F.eks. sådan her:

<script type="text/javascript">
function eksperten(year, month)
{
    var FirstDayOfMonth = new Date(year, month-1, 1);
    var firstday = FirstDayOfMonth.getDay();
    if (firstday == 0) firstday = 7;

    month++;
    if (month == 13)
    {
        year++;
        month = 1;
    }

    var FirstDayOfNextMonth = new Date(year, month-1, 1);
    var ms = FirstDayOfNextMonth.getTime() - FirstDayOfMonth.getTime();
    totaltdays = ms / (24*60*60*1000);
}

eksperten(2005, 8);
</script>
Avatar billede plazm Nybegynder
07. august 2005 - 23:10 #2
tager den højde for skudår ?
hvis ja smid et svar
Avatar billede nielle Nybegynder
08. august 2005 - 06:49 #3
Ja, de gør den. Det kan du nemt verifisere for dig selv med, denne variation:

<script type="text/javascript">
function eksperten(year, month)
{
    var FirstDayOfMonth = new Date(year, month-1, 1);
    var firstday = FirstDayOfMonth.getDay();
    if (firstday == 0) firstday = 7;

    month++;
    if (month == 13)
    {
        year++;
        month = 1;
    }

    var FirstDayOfNextMonth = new Date(year, month-1, 1);
    var ms = FirstDayOfNextMonth.getTime() - FirstDayOfMonth.getTime();
    totaldays = ms / (24*60*60*1000);

    alert(totaldays)
}

eksperten(2004, 2);
</script>
Avatar billede nielle Nybegynder
08. august 2005 - 06:49 #4
... og et svar :^)
Avatar billede plazm Nybegynder
08. august 2005 - 06:51 #5
Jamen jeg takker :)
Avatar billede plazm Nybegynder
08. august 2005 - 06:59 #6
Du skal ikk tro jeg har siddet og ventet på svar ;)
Har også sovet.
Avatar billede roenving Novice
08. august 2005 - 10:10 #7
Iøvrigt er javascripts Date-objekt indrettet på den måde, at hele processen med at øge month-variablen kan springes over:

<script type="text/javascript">
function eksperten(year, month){
  var FirstDayOfMonth = new Date(year, month-1, 1);
  var firstday = FirstDayOfMonth.getDay();
  if (firstday == 0) firstday = 7;

  var FirstDayOfNextMonth = new Date(year, month, 1);
  var ms = FirstDayOfNextMonth.getTime() - FirstDayOfMonth.getTime();
  totaldays = ms / (24*60*60*1000);
 
  alert(totaldays)
}

eksperten(2004, 12);
</script>
Avatar billede plazm Nybegynder
08. august 2005 - 13:28 #8
hehe, det hele kræver jo bare man tænker sig om ;)
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