Korrekte Zeit

Hallo!

Ich habe da ein kleines Problem in einem CGI-Script. Bei der Ausgabe zeigt es die Zeit zwar an aber immer um 2 Stunden nach hinten verschoben. Also statt 20.08 Uhr zeigt es 18.08 Uhr an.

Hier der Teil des Scripts, der die Zeit ausgibt:

($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime(time);
$time = sprintf("%02d:%02d:%02d",$hour,$min,$sec);
$year += 1900;

$date = „$days[$wday], $mday, $months[$mon], $year um $time“;

Wäre nett, wenn mir einer einen Tipp geben könnte, wie die korrekte Zeit anzeigbar ist.

Gruß muenic

Ich habe da ein kleines Problem in einem CGI-Script. Bei der
Ausgabe zeigt es die Zeit zwar an aber immer um 2 Stunden nach
hinten verschoben. Also statt 20.08 Uhr zeigt es 18.08 Uhr an.

Entweder steht Dein Server in einer Zeitzone, die unserer 2 Stunden hinterher ist (das wäre allerdings der Mittelatlantik) oder der Server hat die falsche Timezone (TZ) konfiguriert.

Ich würde auf das Zweite tippen, da die ausgegebene Zeit genau GMT entspricht
(unsere localtime = GMT + 1 Std + 1 Std Sommerzeit)

Klaus

Entweder steht Dein Server in einer Zeitzone, die unserer 2
Stunden hinterher ist (das wäre allerdings der Mittelatlantik)
oder der Server hat die falsche Timezone (TZ) konfiguriert.

Ich würde auf das Zweite tippen, da die ausgegebene Zeit genau
GMT entspricht
(unsere localtime = GMT + 1 Std + 1 Std Sommerzeit)

Hallo Klaus!

Das ist mir klar…deshalb würde ich gerne wissen, wie man dem Script sagt, daß es die 2 Stunden hinzufügen soll.

Gruß muenic

Hi muenic,

wie wärs denn mit localtime() + 7200 ??? (oder so)

CU (M)ike

Problem selbst gelöst
Hi Leute!

Die Frage hat sich erledigt. Habe ein wenig rumprobiert und die Lösung gefunden.

wie wärs denn mit localtime() + 7200 ??? (oder so)

Sorry Mike aber Dein Vorschlag hat nicht hingehauen. Aber trotzdem danke! :wink:

Gruß muenic

Das ist mir klar…deshalb würde ich gerne wissen, wie man
dem Script sagt, daß es die 2 Stunden hinzufügen soll.

Uebergib das doch alles an andere Programme:

entweder

use POSIX;

# ...

print strftime("",localtime());

oder so,

oder aber uebergib das an das Kommandozeilen-Tool date, wenn du es hast:

print `date --date='+2 hours'`;

(Achtung Backticks …)

kampi