php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.07.2006, 10:54  
Erfahrener Benutzer
 
Registriert seit: 14.12.2003
Beiträge: 211
pit62
Standard Problem bei Zeitberechnung! Brauch dringend einen Tipp

Habe in einer Session eine Startzeit (wenn nicht schon vorhanden) :

session_start();
if(!$_SESSION['sec_daten']){
$_SESSION['sec_daten'] = true;
session_register('time');
$time = time();
session_write_close();
}

registriert. Nun möchte ich die Ende-Zeit $realtime=time() von der die in der Session registrierte Zeit $_SESSION['time'] abziehen.

session_start();
session_decode($data);
$realtime=time();
$oldtime=$_SESSION['time'];
$gesmmtzeit=$realtime - $oldtime;

Die ausgabe :
echo
"Startzei :".$_SESSION['time'])." Endezeit :".date('H:i:s',time())." Ihre Gesamtzeit ".date("h : i : s", $gesmmtzeit);

Nun bekomme ich exakt die Sekunden sowie die Minuten ausgegeben. Nur bei den Stunden bekomme ich selbst bei einer Ges. Zei von 8s 1 Stunde und 8s angezeigt???

Hat jmd nen Plan wo ich hier was übersehen habe?
__________________
Wer behauptet, dass er weiß, dass er nichts weiß, weiß nicht, dass er nicht einmal halb so weise ist, wie er es behauptet...
pit62 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.07.2006, 11:24  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Hallo,

time() liefert dir den Unix-Timestamp. AFAIR beginnt der am 1.1.1970 um 1 Uhr. Mit date() wandelst du den Unix-Timestamp in ein Datum um - und wenn eben noch keine Stunde vergangen ist bekommt du genau diese 1 Uhr angezeigt.

Du kannst hier nicht date() verwenden sondern musst dir selbst ausrechnen wievielen Stunden/Minuten/Sekunden die Sekundenanzahl entspricht.

btw.: session_register() musst du nicht verwenden wenn du $_SESSION benutzt - siehe Manual.
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 03.07.2006, 11:27  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard Re: Problem bei Zeitberechnung! Brauch dringend einen Tipp

Verzichte in deinem Script auf session_register() und ähnliches. Diese Funktionen sind veraltet. Benutze stattdessen konsequent das $_SESSION-Array.

Zitat:
Zitat von pit62
Nur bei den Stunden bekomme ich selbst bei einer Ges. Zei von 8s 1 Stunde und 8s angezeigt???
Was meinst du?
xabbuh ist offline  
Alt 03.07.2006, 11:31  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

was liefert dir das ??

PHP-Code:
<?php 
echo $_SESSION['time']." & ".$gesmmtzeit
?>
Was stehen da GENAU für Werte drin. Und bitte versuch dir dein Post nochmal durchzulesen und ggf. den SINN dahinter besser zu verdeutlichen.

Zitat:
Nun bekomme ich exakt die Sekunden sowie die Minuten ausgegeben. Nur bei den Stunden bekomme ich selbst bei einer Ges. Zei von 8s 1 Stunde und 8s angezeigt???
Was genau willst du erreichen ???

Ach so und zu deinen Sessions : setz error_reporting(E_ALL); und du wirst was erzählt bekommen:

http://faq-phpfriend.de/q/q-sessions-wie.html

Schau also hier nochmal nach wie das mit den Sessions geht !
M3g4Star ist offline  
Alt 03.07.2006, 12:16  
Erfahrener Benutzer
 
Registriert seit: 14.12.2003
Beiträge: 211
pit62
Standard

Mmm will es noch einmal versuchen!
Also ich habe zwei Zeiten eine Startzei und eine Endezeit nun möchte ich die Differenz zwischen den zwei Zeiten errechnen so dass ich die Vergangene Zeit (zwischen Start und Ende) errechnen!
Also diese werte hatte ich vor einigen Minuten :

Startzeit (Start der Zeitmessung) : 1151921274
Endzeit (jezige Zeit) : 1151921363

Gesamtzeit = Startzeit - Endezeit
GESAMTZEIT : 89

echo "Startzeit: " .date('H:i:s',$_SESSION['time'])." Endetime : ".date('H:i:s',time())." Ihre Gesamtzeit ".date("h : i : s", $gesmmtzeit);

Ergebnis der (echo) Ausgabe :
Startzeit: 12:07:54 Endezeit : 12:09:23 Ihre Gesamtzeit 01 : 01 : 29


Ich hoffe man kann es nun verstehen, was und wie ich es meine.
__________________
Wer behauptet, dass er weiß, dass er nichts weiß, weiß nicht, dass er nicht einmal halb so weise ist, wie er es behauptet...
pit62 ist offline  
Alt 03.07.2006, 12:19  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Ich schrieb doch: Du kannst NICHT date() verwenden um zu ermitteln wie groß die Zeitdifferenz ist.

89 Sekunden seit dem 1.1.1970 um 1 Uhr wandelt die date() Funktion wieder in ein Datum um. In das, dass 89 Sekunden nach dem 1.1.1970 um 1 Uhr war - und das ist der 1.1.1970 um 01:01:29 Uhr.

Du musst dir selbst ausrechnen wieviele Minuten 89 Sekunden sind. Das geht mit einfacher Mathematik, oder du schaust im PHP-Manual in den Kommentaren zu time() oder date()...da sollte sich auch was finden lassen.
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 03.07.2006, 12:24  
Erfahrener Benutzer
 
Registriert seit: 14.12.2003
Beiträge: 211
pit62
Standard

Zitat:
Zitat von Werbegeschenk
Ich schrieb doch: Du kannst NICHT date() verwenden um zu ermitteln wie groß die Zeitdifferenz ist.

89 Sekunden seit dem 1.1.1970 um 1 Uhr wandelt die date() Funktion wieder in ein Datum um. In das, dass 89 Sekunden nach dem 1.1.1970 um 1 Uhr war - und das ist der 1.1.1970 um 01:01:29 Uhr.

Du musst dir selbst ausrechnen wieviele Minuten 89 Sekunden sind. Das geht mit einfacher Mathematik, oder du schaust im PHP-Manual in den Kommentaren zu time() oder date()...da sollte sich auch was finden lassen.
Ja das hatte ich schon vernommen, wollte nur noch einmal auf den tread von @xabbuh und @M3g4Star reagieren.
Ich war eigentlich der Meinung, dass es so zu rechnen ginge aber demnach doch nicht.
Danke werde mal umrechnen und dann wird es denke ich auch klappen (dürfte kein Problem sein (.
__________________
Wer behauptet, dass er weiß, dass er nichts weiß, weiß nicht, dass er nicht einmal halb so weise ist, wie er es behauptet...
pit62 ist offline  
Alt 06.07.2006, 16:56  
Benutzer
 
Registriert seit: 02.06.2006
Beiträge: 53
TailerD
Standard

Hast du es geschafft pit62 ? Ich probiere hier auch grad rum.
TailerD ist offline  
Alt 06.07.2006, 19:39  
Gast
 
Beiträge: n/a
Standard

Einfach mal die FAQ lesen, erspart jede Menge Arbeit:

25.16. Wie wandle ich Sekunden in Tage/Stunden/Minuten/Sekunden um?
http://www.php-faq.de/q/q-code-intervall.html
 
Alt 07.07.2006, 10:41  
Benutzer
 
Registriert seit: 02.06.2006
Beiträge: 53
TailerD
Standard

Oh danke. Ich hab mal einen neuen Thread begonnen.

http://www.phpfriend.de/forum/ftopic58800.html#406019
TailerD ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit osCommerce brauche dringend Hilfe... PHP Tipps 2005 12 13.05.2005 08:40
[Erledigt] PHP Session Problem, dringend! PHP-Fortgeschrittene 17 21.10.2004 21:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zeitberechnung stunde minute sekunde, zeitberechnung mit echtzeit, mathematisch unix zeitstempel zu datum, realtime zeit berechnen, zeitumwandlung unix zu realtime php, real time zeitberechnung, unix shell zeitberechnung, shell programm wieviel sekunden seit 1970, shell unix time in gesamtzeit, javascripz zeitberechnungen, wieviel sekunden sind seit dem 1.1.1970 vergangen berechnung, java script zeitberechnung, php bild mit zeitberechnung anzeigen, zeitberechnung mit datum zeitangaben, sekunden vom 1.1.1970 berechnen, php, time 89, 2 stunden, javascript zeitberechnung minuten abziehen, http://www.php.de/php-tipps-2006/41005-problem-bei-zeitberechnung-brauch-dringend-einen-tipp.html, ups zeitberechnung, php unixtime zeitberechnung

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.