php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.05.2005, 00:30  
Erfahrener Benutzer
 
Registriert seit: 05.04.2004
Beiträge: 150
Ohrwurm83
Ohrwurm83 eine Nachricht über ICQ schicken
Standard zeitberechnungsproblem

hi leuts

ich habe ein problem mit zeiten
ich berechne den unterschied zwischen 2 zeiten.
die erste zeit is die aktuelle zeit und die zweite ist eine aus meiner datenbank ( last login)

hier mein code
Code:
//aktuelle zeit
$jahr1 = date(Y);
  $monat1 = date(m);
  $tag1  = date(d);
  $stunde1 = date(h);
  $minuten1 = date(i);
  $sekunden1 = date(s);  

//last login zeit  
  $date = $user_last;
  $jahr = substr($date, -14, 4); 
  $monat = substr($date, -10, 2); 
  $datum = substr($date, -8, 2);    
  $stunden = substr($date, -6, 2); 
  $minuten = substr($date, -4, 2); 
  $sekunden = substr($date, -2);   

  //Datum in Timestamp umwandeln
  $date1 = mktime($stunde1,$minuten1,$sekunden1,$tag1,$monat1,$jahr1);
  $date2 = mktime($stunden,$minuten,$sekunden,$datum,$monat,$jahr);
  //Anzahl der daszwischenliegenden sekunden ermitteln
  $diff   = $date1 - $date2;
jetzt mach ich 2 klicks nacheinander, nicht mehr als 3 sekunden sind vergangen, aber wenn ich
Code:
echo $diff;
mache, kommt da
statt der 3 sekunden

43203 sekunden zeit unterschied raus...?!?
kann mir bitte jemand sagen warum er urplötzlich da 43200 sekunden (= ein halber tag) hinzuzählt???
__________________
Auch eine Faust war einmal eine offene Hand
Ohrwurm83 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.05.2005, 00:36  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

zeig mal bitte was in user_last steht
robo47 ist offline  
Alt 30.05.2005, 00:37  
Erfahrener Benutzer
 
Registriert seit: 05.04.2004
Beiträge: 150
Ohrwurm83
Ohrwurm83 eine Nachricht über ICQ schicken
Standard

in user last steht z.b.
Code:
20050530002636
bis vor ner halben stunde ging das noch einwandfrei... aber nun auf einmal nicht mehr -.-
__________________
Auch eine Faust war einmal eine offene Hand
Ohrwurm83 ist offline  
Alt 30.05.2005, 01:07  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

1) stimmt die serverzeit ?
2)
PHP-Code:
<?
error_reporting
(E_ALL);
$user_last '20050530002636';
//aktuelle zeit
  
$jahr1 date('Y');
  
$monat1 date('m');
  
$datum1  date('d');
  
$stunden1 date('h');
  
$minuten1 date('i');
  
$sekunden1 date('s'); 

//last login zeit 
  
$date $user_last;
  
$jahr substr($date, -144);
  
$monat substr($date, -102);
  
$datum substr($date, -82);   
  
$stunden substr($date, -62);
  
$minuten substr($date, -42);
  
$sekunden substr($date, -2);   

  
//Datum in Timestamp umwandeln
   
echo '
stunden '
.$stunden1.'
 minuten: '
.$minuten1.'
 sekunden '
.$sekunden1.'
 datum '
.$datum1.'
 monat'
.$monat1.'
 jahr'
.$jahr1.'
'
;
  echo 
$user_last.'
'
;
  echo 
'
stunden '
.$stunden.'
 minuten: '
.$minuten.'
 sekunden '
.$sekunden.'
 datum '
.$datum.'
 monat'
.$monat.'
 jahr'
.$jahr.'
'
.'
'
;

  
$date1 mktime($stunden1,$minuten1,$sekunden1,$datum1,$monat1,$jahr1);
  
$date2 mktime($stunden,$minuten,$sekunden,$datum,$monat,$jahr);
  
//Anzahl der daszwischenliegenden sekunden ermitteln
  
$diff   $date1 $date2

echo 
$diff/60;
so hab ich es lokal getestet und raus kommt was um die 40 minuten

imho schreib man hinter date einen string und keine konstanten
-> also mit ' arbeiten
anders geht auch ist aber unsauber und wirft mit error_reporting(E_ALL);
fehler auf.
robo47 ist offline  
Alt 30.05.2005, 01:12  
Erfahrener Benutzer
 
Registriert seit: 05.04.2004
Beiträge: 150
Ohrwurm83
Ohrwurm83 eine Nachricht über ICQ schicken
Standard

das is das komische dabei, serverzeit stimmt... alles stimmt (hab ne uhr daneben laufen)

lass es einmal mit javascript hochzählen und einmal im hintergrund mit php.
nun is der halbe tag wieder weg und die zeit zählt wieder normal...

aber wenn das wieder kommt... wäre das doof...
woran könnte es noch liegen?
__________________
Auch eine Faust war einmal eine offene Hand
Ohrwurm83 ist offline  
Alt 30.05.2005, 01:14  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

dass dein server drogen nimmt die das raum/zeit-gefüge verändern :P
robo47 ist offline  
Alt 30.05.2005, 01:54  
Erfahrener Benutzer
 
Registriert seit: 05.04.2004
Beiträge: 150
Ohrwurm83
Ohrwurm83 eine Nachricht über ICQ schicken
Standard

LOL, so kommts mir wirklich ab und zu vor... dachte zuerst das ich nur nen 12h takt drin hab...

aber meine $diff war einmal mal + 43200 und dann einmal - 43200

is bei funpic.de gehostet... also free erstmal
__________________
Auch eine Faust war einmal eine offene Hand
Ohrwurm83 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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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.