Avatar billede dj-hupi Nybegynder
03. marts 2007 - 19:06 Der er 9 kommentarer og
1 løsning

Tæl dage op? datefunktion?

Jeg har et behov for at tælle et antal dage op og lægge oven i den nuværende dato...
Er der nogen realativ nem måde at gøre det på?

Rasmus
Avatar billede kalp Novice
03. marts 2007 - 19:34 #1
Hvis du f.eks vil lægge 3 dage til en dato.
dateadd("d",3,datoHer)

Benyt denne funktion

function dateAdd($interval,$number,$dateTime) {
     
  $dateTime = (strtotime($dateTime) != -1) ? strtotime($dateTime) : $dateTime;     
  $dateTimeArr=getdate($dateTime);
             
  $yr=$dateTimeArr[year];
  $mon=$dateTimeArr[mon];
  $day=$dateTimeArr[mday];
  $hr=$dateTimeArr[hours];
  $min=$dateTimeArr[minutes];
  $sec=$dateTimeArr[seconds];

  switch($interval) {
      case "s"://seconds
          $sec += $number;
          break;

      case "n"://minutes
          $min += $number;
          break;

      case "h"://hours
          $hr += $number;
          break;

      case "d"://days
          $day += $number;
          break;

      case "ww"://Week
          $day += ($number * 7);
          break;

      case "m": //similar result "m" dateDiff Microsoft
          $mon += $number;
          break;

      case "yyyy": //similar result "yyyy" dateDiff Microsoft
          $yr += $number;
          break;

      default:
          $day += $number;
        }     
             
      $dateTime = mktime($hr,$min,$sec,$mon,$day,$yr);
      $dateTimeArr=getdate($dateTime);
     
      $nosecmin = 0;
      $min=$dateTimeArr[minutes];
      $sec=$dateTimeArr[seconds];

      if ($hr==0){$nosecmin += 1;}
      if ($min==0){$nosecmin += 1;}
      if ($sec==0){$nosecmin += 1;}
     
      if ($nosecmin>2){    return(date("Y-m-d",$dateTime));} else {    return(date("Y-m-d G:i:s",$dateTime));}
}
Avatar billede coderdk Praktikant
03. marts 2007 - 19:42 #2
$dato = time();
$om_tre_dage = strtotime( "+1 days", $dato );

:)
Avatar billede coderdk Praktikant
03. marts 2007 - 19:43 #3
Eksemplet skulle jo have +3 days ;) hjehehe
Avatar billede kalp Novice
03. marts 2007 - 19:44 #4
coderdk >> jeg ved ikke om det skal være 3 dage... bare mig der gætter:o)
Avatar billede coderdk Praktikant
03. marts 2007 - 19:48 #5
qawi, Det var nu mere at jeg kaldte den $om_tre_dage når jeg kun lavede +1 day ;) hehehe en smule ulogisk ;)
Avatar billede kalp Novice
03. marts 2007 - 19:51 #6
nåhh ja hehe kan jeg godt se nu:P fokuserede ikke på variablen men mere funktionen:)
Avatar billede dj-hupi Nybegynder
06. marts 2007 - 01:05 #7
Takker gawi - Den virkede :D - Hit with an answer !
Avatar billede kalp Novice
06. marts 2007 - 08:31 #8
Du får et svar her:)
Avatar billede coderdk Praktikant
06. marts 2007 - 08:58 #9
Sorry, men hvorfor bruge en stor hjemmelavet funktion når man kan bruge strtotime() ? ;)
Avatar billede dj-hupi Nybegynder
01. april 2007 - 23:58 #10
Funktionen virkede ;-)
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