Avatar billede aortsx Nybegynder
30. marts 2001 - 00:43 Der er 8 kommentarer og
1 løsning

Vrøvl med mktime()

Hej
Jeg er ved at lave mig en webkalender. Der er imidlertid noget der driller.
Jeg ønsker antal dage i den aktuelle måned og gør sådan:
$days_in_month = date(\"t\",mktime(0,0,0,$month,1,$year));

Det virker også fint når jeg kører det herhjemme på min egen webserver der kører php-version 3.0.10
Hvis måneden er marts returneres således \"31\"

MEN når jeg uploader til mit webhotel som kører php-version 3.0.7 returneres blot \"t\"

Er der nogen der har en forklaring på det, er det måske 3.0.7-versionen der har en begrænsning i mktime-funktionen?

mvh Anders Ørts
Avatar billede codebase Praktikant
30. marts 2001 - 03:01 #1
hvorfor bruger du ikke date ??

http://www.php.net/manual/en/function.date.php

$days_in_month (date(\"t\"));

her er noget af min kalender: http://194.182.105.105/test/ugetest.php


_codeb@se.
Avatar billede aortsx Nybegynder
30. marts 2001 - 12:54 #2
Nu kan jeg jo ikke se hvordan du slipper af sted med kun at bruge date(\"t\")
Den kan vel kun beregne antal dage i indeværende måned, da date() bruger det aktuelle tidsstempel. Hvordan gør du hvis du vil have antal dage i februar 2001 f.eks.?
mvh Anders
Avatar billede codebase Praktikant
30. marts 2001 - 15:17 #3
det kommer jo an på skudår :)

function SkudAar($datein,$skod){
  $yearof = substr($datein, 0, 4);    
  if ((($yearof%4==0)&&($yearof%100!=0))||($yearof%400==0)) {
      if ($skod==0) $numfeb=29;
      if ($skod==1) $numfeb=1;
  }
  else {
      if ($skod==0) $numfeb=28;
      if ($skod==1) $numfeb=0; 
  }
  return \"\".$numfeb;
}

<?
echo SkudAar(2001,0);
?>

_codeb@se.

Avatar billede codebase Praktikant
30. marts 2001 - 15:20 #4
en mere komplet kalender kan ses her:
http://www.codebase.dk/katapult/

_codeb@se.
Avatar billede codebase Praktikant
30. marts 2001 - 16:01 #5
:)

_codeb@se.
Avatar billede aortsx Nybegynder
30. marts 2001 - 16:02 #6
Ok, det er måske den eneste løsning, selvom det jo er MEGET besværlig i forhold til min oprindelige løsning.
Det undrer mig at manualen ikke nævner noget om begrænsninger i mktime() i forhold til php-version.
Tak for indsatsen.
Anders
Avatar billede aortsx Nybegynder
30. marts 2001 - 16:31 #7
Eller rettere, det er jo faktisk i date() det går galt i 3.0.7
date(\"t\") returnerer her \"t\", og det skulle jo gerne give 31 her i marts måned :-(
Avatar billede superfrog Nybegynder
31. marts 2001 - 14:20 #8
der er en begrænsning i versioner før 3.0.10 med noget med sommertid.... ved ikke om det kan være dette :)
Avatar billede aortsx Nybegynder
31. marts 2001 - 18:19 #9
?? - måske
Nu har jeg fået webhotellet til at flytte mig til en server med en nyere version, så mit problem bliver løst.
Tak - Anders
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