Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2004 Teil von Dezember

SELFHTML Forumsarchiv
Differenz zwischen 2 Zeitpunkten

Informationsseite
  1. Seite (PERL) Differenz zwischen 2 Zeitpunkten von BasicArtsStudios, 31. 12. 2004, 00:58
nach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: BasicArtsStudios, 31. 12. 2004, 00:58

Hallo zusammen

Ich wäre froh, wenn mir jemand von euch sagen könnte, wie ich die Differenz zweier Zeitpunnkte herausfinden kann (in Minuten)

Ich will nämlich in ner Datei n Datum speichern, und wenn der User mein Script ausführen lässt, liest dieses den Zeitpunkt aus der Datei und vergleicht es mit dem jetztigen Zeitpunkt. Sobald der Zeitpunkt in der Datei 10 Minuten älter ist als "jetzt", dann wird die Datei gelöscht.

Den Rest schaff ich selbst, muss nur wissen, wie man die Differenz berechnet. Das Ergebnis sollte in Minuten dargestellt werden.

Gruss und vielen Dank zum Voraus

nach obennach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: Christian Kruse, 31. 12. 2004, 01:11

你好 BasicArtsStudios,

»» Ich wäre froh, wenn mir jemand von euch sagen könnte, wie ich die
»» Differenz zweier Zeitpunnkte herausfinden kann (in Minuten)

$time1 = time();
sleep 60;
$time2 = time();
$difference = $time2 - $time1;
$difference_in_minutes = $difference / 60;
print "Differenz: $difference, Differenz in Minuten: $difference_in_minutes\n";

再见,
 CK

--
Fortune: I can't drive 55.
I'm looking forward to not being able to drive 65, either.
http://wwwtech.de/

nach obennach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: Alain, 31. 12. 2004, 10:56

hi,

»» $time1 = time();
»» sleep 60;
»» $time2 = time();
»» $difference = $time2 - $time1;
»» $difference_in_minutes = $difference / 60;
»» print "Differenz: $difference, Differenz in Minuten: $difference_in_minutes\n";
»»

ich würde das nicht mit sleep machen.
eher so:
my $alt = time();
my $jetzt = $alt + 600;//zeit plus 600sekunden
my ($jetzt_last);
if ($jetzt_last <= $alt) {
unlink $datei...//loesche datei
my $eintragindiedatei = ($jetzt);//aktueller wert

Gruss
Alain

nach obennach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: Christian Kruse, 31. 12. 2004, 11:06

你好 Alain,

»» ich würde das nicht mit sleep machen.

Darum gings doch gar nicht ;-) Ich wollte nur etwas Zeit verstreichen
lassen. Es ging nur darum, den Mechanismus klarzustellen.

再见,
 CK

--
Zu wissen, was wir nicht wissen, ist die Quelle der Weisheit.
http://wwwtech.de/

nach obennach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: Alain, 31. 12. 2004, 11:48

Hi CK,

»» Darum gings doch gar nicht ;-) Ich wollte nur etwas Zeit verstreichen
»» lassen. Es ging nur darum, den Mechanismus klarzustellen.
»»

ja aber $time1 = time(); und $time2 = time(); ist ja sonst dasselbe
und mit sleep wird das script einfach nur 60sekunden angehalten,was vermutlich nicht gerade erwünscht ist vom autor...und sonst,versteh ich Dein mechanismus nicht -> keine logik -> ;-)
Er möchte ja einen alten wert aus einer datei auslesen und den wert mit dem aktuellen wert $time = time(); bzw. $jetzt = $time + 600; vergleichen...Habe selbst ein script,welches auf diese weise tadellos funktioniert.eine andere methode wäre:

sub checkdir {
my $jetzt = time();
my $bis = $jetzt - 600||'';

opendir(DIR, "$file_path")||die "cannot open $!";
for (readdir(DIR)){
my $entry = "$file_path/$_";#lese verzeichniss
if ((-f "$entry") and ((stat($entry))[9] < $bis))#lösche alle dateien die älter sind als 600 sekunden.
{
unlink("$entry")||die "cannot loeschen $!";
}
}
closedir(DIR)||die "cannot schliessen $!";
}

in diesem verzeichniss sollten ausschliesslich nur diese logdateien sein.

Gruss
Alain

nach obennach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: Christian Kruse, 31. 12. 2004, 12:09

你好 Alain,

»» »» Darum gings doch gar nicht ;-) Ich wollte nur etwas Zeit verstreichen
»» »» lassen. Es ging nur darum, den Mechanismus klarzustellen.
»» »»
»»
»» ja aber $time1 = time(); und $time2 = time(); ist ja sonst dasselbe
»» und mit sleep wird das script einfach nur 60sekunden angehalten,was
»» vermutlich nicht gerade erwünscht ist vom autor...und sonst,versteh
»» ich Dein mechanismus nicht -> keine logik -> ;-)

Seine Frage war: wie erechne ich eine Zeit-Differenz? Die Antwort ging aus
meinem Code klar hervor ($time2 - $time1).

再见,
 CK

--
Wer sich zu überschwänglich freut, wir später Grund zum Weinen haben.
http://wwwtech.de/

nach obennach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: BasicArtsStudios, 31. 12. 2004, 14:57

Hallo zusammen

»» Seine Frage war: wie erechne ich eine Zeit-Differenz? Die Antwort ging aus
»» meinem Code klar hervor ($time2 - $time1).

Bin auch der Meinung, dass dies sehr klar ist, nur frage ich mich, warum die Antwort so einfach sein kann (mit Format und so... gibt es da keine Fehler?)...

Heisst das, das sich mit Perl beliebig Datum & Zeit addieren und subtrahieren lassen?

Aus meinen Erfahrungen kenne ich, dass dafür häufig Code nötig ist, der das Format in seine Bestandteile aufsplittet...?

Aber danke für den Tipp, ich werd's ausprobieren. Gruss ///BAS/// BasicArtsStudios

nach obennach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: Struppi, 31. 12. 2004, 15:15

»» Heisst das, das sich mit Perl beliebig Datum & Zeit addieren und subtrahieren lassen?

Nein, du musst das Datum in ein Computertaugliches umwandeln, üblicherweise der Unixtimestamp (die Sekunden seit dem 1.1.1970) und damit läßt sich lecht rechnen.

»»
»» Aus meinen Erfahrungen kenne ich, dass dafür häufig Code nötig ist, der das Format in seine Bestandteile aufsplittet...?

Das ist auch mit Perl nötig. wobei es aber Module gibt die dir diese Arbeit abnehmen z.b. Date::Calc.


Struppi.
--
http://javascript.jstruebig.de/

nach obennach unten

Differenz zwischen 2 Zeitpunkten

Die folgende Nachricht zum Thema stammt von: Alain, 31. 12. 2004, 15:34

hi,

»» »» Seine Frage war: wie erechne ich eine Zeit-Differenz? Die Antwort ging aus
»» »» meinem Code klar hervor ($time2 - $time1).
»»
»» Bin auch der Meinung, dass dies sehr klar ist, nur frage ich mich, warum die Antwort so einfach sein kann (mit Format und so... gibt es da keine Fehler?)...
»»

sorry,dass ich zu weit gedacht habe,dann wäre aber $differenz=($time2 - $time1); noch einfacher beantwortet gewesen.Also kindergarten aufgabe ;-)

»» Heisst das, das sich mit Perl beliebig Datum & Zeit addieren und subtrahieren lassen?
»»

genau

»» Aus meinen Erfahrungen kenne ich, dass dafür häufig Code nötig ist, der das Format in seine Bestandteile aufsplittet...?
»»

nicht wenn Du $datum = time(); benutzt,weil das eine dezimalzahl(in sekunden seit irgendwann ab 1970) ist ,welche nicht gesplittet werden muss,da nur eine zahl. näheres bei http://de.selfhtml.org/cgiperl/funktionen/datumzeit.htm#time

Gruss
Alain

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2004 Teil von Dezember

© 1998-2008 Seite Impressum, Software: Classic Forum