Avatar billede mibu Nybegynder
01. marts 2008 - 11:45 Der er 10 kommentarer og
1 løsning

sommertid med php

jeg har denne kode der finder gm tiden:

<?php
    $H = gmdate("H")+1;
        echo gmdate("M d Y $H:i:s");
    ?>

Hvordan for jeg den til at beregne om det er sommer eller normal tid?

Jeg har webserver som kører php4
Avatar billede yHec Novice
01. marts 2008 - 12:14 #1
Prøv at se på parameterlisten her:
http://dk2.php.net/manual/da/function.date.php

Parameteren "I", finder ud af om man er i sommer tid eller ej.

gmdate("I", "M d Y $H:i:s") returnerer 0 i vintertid og 1 i sommertid... Så skal der bare laves en IF-sætning....

/y

De er de samme parametre, der bruges i gmdate
Avatar billede mibu Nybegynder
01. marts 2008 - 16:18 #2
Da det ikke er sommertid nu kan jeg jo ikke teste, men tror du at den her vil virke?
Den viser fint tiden nu!

<?php
  $Hv = gmdate("H")+1+$HI;
  $HI = gmdate("I");
    echo gmdate("d m Y $Hv:i:s");
?>
Avatar billede yHec Novice
01. marts 2008 - 16:57 #3
Hvis du vil have den til at vise om det er sommertid eller ej, så ville jeg gøre følgende:
$st=gmdate("I", "d m Y $Hv:i:s");
if($st=="1) echo "sommertid";
elser echo "vintertid";

Den viser selv tiden i sommer- eller vintertid.

/y
Avatar billede mibu Nybegynder
01. marts 2008 - 17:10 #4
Nej den skal ikke vise om det er "sommertid", den skulle bare meget selv finde ud af at tillægge en time hvis det er sommertid.
Avatar billede yHec Novice
01. marts 2008 - 17:13 #5
Lægge en time til hvad? Den aktuelle tid? Det gør den af sig selv!

$Ligenu=gmdate(gmdate("d m Y H:i:s");
echo $Ligenu;

Outputter tiden som den er ligenu. Også hvis det er sommertid.

Havd skal du bruge det til??

/y
Avatar billede mibu Nybegynder
01. marts 2008 - 17:39 #6
gm tid er jo London tid :-) Danmark er + en time og + 2 ved sommer tid! ikke sandt?
Avatar billede olebole Juniormester
01. marts 2008 - 17:47 #7
<ole>

I PHP er det så skønt, at det slet ikke er noget, du behøver besvære dit hovede med. Som y skriver, kompenserer PHP selv for sommertid ... så hvor er problemet?  =)

/mvh
</bole>
Avatar billede mibu Nybegynder
01. marts 2008 - 18:30 #8
Det lyder så let at det næsten må være løgn :-)
Det vil alså at jeg bare kan nøjes med at skrive:

<?php
  $H = gmdate("H")+1;
  echo gmdate("d m Y $H:i:s");
?>

Så har jeg korrekt dansk gm tid året rundt?
I så fald må y skylde sig at lægge et svar, som kompensation for at have brugt tid på en tungnem :-)
Avatar billede yHec Novice
01. marts 2008 - 19:23 #9
Hermed et svar.

Jeg ved selvfølgelig ikke hvorfor du vælger at bruge gmdate(), når date() altid har tiden i din/serverens tidszone.
<?php
  $H = gmdate("H")+1;
  echo gmdate("d m Y $H:i:s");
?>
svarer til:
<?php
  echo date("d m Y H:i:s");
?>
Hele året.......

/y
Avatar billede mibu Nybegynder
01. marts 2008 - 19:35 #10
fordi min webhost kører med amerinsk tidsregning på nogle af deres servere, og de har et par gange pludselig ændret det.
Avatar billede mibu Nybegynder
01. marts 2008 - 19:36 #11
(læs) amerikansk :-)
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