php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-08-2009, 13:28
Ejoni
 Registrierter Benutzer
Links : Onlinestatus : Ejoni ist offline
Registriert seit: Aug 2009
Beiträge: 3
Ejoni befindet sich auf einem aufstrebenden Ast
Standard strtotime() subtrahiert keine Stunden

Hallo habe mein Problem ja schon im Titel geschildert. Folgende Situation, ich bekomme 2 Strings die ich mit hilfe von strtotime() wandel und dann subtrahiere. Komischerweise kommt aber immer eine Std. zuviel dabei raus :-) Wenn ich später die Pausezeit(handelt sich um ein einfaches Zeiterfassungssystem) abziehe passiert das gleiche. Er rechnet die Minuten richtig aber die Stunden bleiben unverändert. Habe hier gerade schon mal im Forum gesucht, aber leider keine Lösung gefunden. Hier mal mein Code:

date_default_timezone_set('Europe/Berlin');
function zeitberechnung($a, $b) {
$anfang = strtotime($a);
$ende = strtotime($b);
$zeit = $ende - $anfang;

return date("H:i:s", $zeit);
}

die Zeit liegt so 11:59:59 vor. Hoffe mein Problem wird deutlich
Mit Zitat antworten
  #2 (permalink)  
Alt 02-08-2009, 13:54
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Zeig mal konkrete Testdaten, wie sie reinkommen und rausgehen.
Mit Zitat antworten
  #3 (permalink)  
Alt 02-08-2009, 14:48
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zeitstempel - Zeitstempel ergibt eine Zeitspanne. Klar, dass das nicht unbedingt passt. Wie sehen die Zeitstempel denn aus? Hast du mal nen paar Beispiele?
Mit Zitat antworten
  #4 (permalink)  
Alt 02-08-2009, 15:10
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Beachte:
PHP-Code:
date_default_timezone_set('Europe/Paris');

echo 
'<h1>testdaten</h1>';
echo 
date("Y-m-d H:i:s",  strtotime('11:59:59')).'<br>';
echo 
date("Y-m-d H:i:s",  strtotime('01:00:00')).'<br>';


echo 
'<h1>Kaputtes Ergebnis</h1>';
$ergebnis strtotime('11:59:59') - strtotime('01:00:00');
echo 
date("Y-m-d H:i:s",$ergebnis).'<br>';


echo 
'<h1>Richtige Rechnung</h1>';
$ergebnis strtotime('11:59:59 -1 HOURS');
echo 
date("Y-m-d H:i:s",$ergebnis).'<br>'
__________________
Wir werden alle sterben
Mit Zitat antworten
  #5 (permalink)  
Alt 02-08-2009, 17:13
Ejoni
 Registrierter Benutzer
Links : Onlinestatus : Ejoni ist offline
Registriert seit: Aug 2009
Beiträge: 3
Ejoni befindet sich auf einem aufstrebenden Ast
Standard testdaten

also ganz normale Bürozeiten halt inder Form:

08:00:00 - 16:00:00
dann noch die Pausenzeit
00:45:00

aus diesen 3 soll die netto Arbeitszeit einfach errechnet werden. Das gelingt mir leider nur nicht wirklich :-) Vielen Dank schon mal für die Antworten
Mit Zitat antworten
  #6 (permalink)  
Alt 02-08-2009, 17:21
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Das in Unix Timestamps "umzurechnen", wäre eher unsinnig.

Wenn du nicht über Tagesgrenzen hinaus rechnen musst, dann machst du aus 16:00:00 einfach 16*60*60 + 0 * 60 + 0 Sekunden, aus den anderen Werten ebenso - und rechnest die Differenz dann wieder in Stunden:Minuten:Sekunden um (Modulo-Operator ist dabei hilfreich).
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 02-08-2009, 17:52
piratos
 Guest
piratos
Beiträge: n/a
Standard

Ein etwas ungewöhnlicher Tipp - Mysql kann wunderbar mit Zeiten und Datum rechnen und zwar sehr direkt.

Bei einigen Dingen mach ich mir das sehr bequem und verwende dann einfach Mysql (da wird noch nicht einmal eine Tabelle nötig).

Beispielansatz:

SELECT CAST( '16:00:00' AS TIME ) - CAST( '08:00:00' AS TIME ) AS Arbeitszeit
Mit Zitat antworten
  #8 (permalink)  
Alt 02-08-2009, 18:06
Ejoni
 Registrierter Benutzer
Links : Onlinestatus : Ejoni ist offline
Registriert seit: Aug 2009
Beiträge: 3
Ejoni befindet sich auf einem aufstrebenden Ast
Standard

@wahsaga, super danke so mache ich das. Vielen Dank für Eure Hilfe!
Mit Zitat antworten
  #9 (permalink)  
Alt 02-08-2009, 20:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von piratos Beitrag anzeigen
Ein etwas ungewöhnlicher Tipp - Mysql kann wunderbar mit Zeiten und Datum rechnen und zwar sehr direkt.
Von MySQL war bisher nicht die Rede - und wenn das gar nicht im Spiel ist, es jetzt für diese Berechnung mit rein zu bringen ... da würde ich sagen, ein etwas ungewöhnlicher Tipp.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #10 (permalink)  
Alt 02-08-2009, 20:22
piratos
 Guest
piratos
Beiträge: n/a
Standard

Es gibt halt auch andere Möglichkeiten an die man nicht so schnell denkt.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
denkproblem strtotime + mysqlabfrage dani_o PHP Developer Forum 4 11-09-2008 08:34
Stunden aus Stunden rausrechnen, aber wie? beebob PHP Developer Forum 2 27-12-2007 02:41
Probleme mit strtotime() bweichel PHP Developer Forum 4 14-05-2007 17:30
Zeitproblem mit strtotime p_rehm PHP Developer Forum 2 07-09-2004 01:51
Probs mit strtotime Citycobra PHP Developer Forum 2 02-09-2002 18:45

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:00 Uhr.