PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Arbeitszeit für Nachtschicht berechnen (http://www.selfphp.de/forum/showthread.php?t=24635)

syntax 28.03.2012 22:13:11

Arbeitszeit für Nachtschicht berechnen
 
Hallo Leute,

ich habe eine Tabelle mit folgenden Spalten:

startdatum | startzeit | endedatum | endezeit

1. 01.01.2012 | 11:00 | 01.01.2012 | 12:00

2. 02.01.2012 | 22:00 | 03.01.2012 | 01:00


Die erste Zeile ist kein Problem:

SELECT SEC_TO_TIME(TIME_TO_SEC(arbeitszeiten.endezeit) - TIME_TO_SEC(arbeitszeiten.startzeit)) AS dauer FROM arbeitszeiten

Aber bei der 2 Zeile habe ich keinen Plan wie ich das mit SQL anstellen kann.

Meine Idee wäre:

02.01.2012 in Stunden um zuwandel = 24h - 22:00 (startzeit) = 2h + 1h (endezeit) = 3h dauer

Das darf aber nur geschehen wenn sich startdatum & endedatum unterscheiden.

Kann ich dass alles mit SQL bewerkstelligen oder muss ich da mit PHP einen zwischen Schritt gehen
oder bin ich vielleicht völlig auf dem Holzweg?

Würd mich über eure Tipps freuen :)

meikel (†) 28.03.2012 22:43:39

AW: Arbeitszeit für Nachtschicht berechnen
 
Schon mal was von datetime gehört? Ich meine hier den Spaltentyp datetime und nicht die datetime Klasse von PHP.

syntax 29.03.2012 01:31:05

AW: Arbeitszeit für Nachtschicht berechnen
 
Natürlich, Datum und Uhrzeit zusammen in einer Spalte. Ich hätte es aber gern getrennt.

meikel (†) 29.03.2012 01:50:37

AW: Arbeitszeit für Nachtschicht berechnen
 
Zitat:

Zitat von syntax (Beitrag 143220)
Natürlich, Datum und Uhrzeit zusammen in einer Spalte. Ich hätte es aber gern getrennt.

Finger weg!

Guck Dir das an:
http://dev.mysql.com/doc/refman/5.0/...functions.html
und setze es ein.

Und für die Formatierung der Ausgabe im HTML nutzt Du die datetime Klasse von PHP:
http://php.net/datetime

Die ist genaugenommen nur erforderlich, wenn es um die Sommerzeit und um deutsche Monatsnamen geht:
http://mod.php.developer.vc/locale-2/ (Quelltext wird angezeigt)

vt1816 29.03.2012 10:08:29

AW: Arbeitszeit für Nachtschicht berechnen
 
Zitat:

Zitat von syntax (Beitrag 143220)
Natürlich, Datum und Uhrzeit zusammen in einer Spalte. Ich hätte es aber gern getrennt.

Wozu? Dafür gibt es Funktionen!

Ckaos 29.03.2012 11:27:08

AW: Arbeitszeit für Nachtschicht berechnen
 
Hi

Zitat:

Die erste Zeile ist kein Problem:.......Ich hätte es aber gern getrennt.
Und dann musst du es wieder zusammenfrickeln um sowas
zu machen oder CONCAT zum zusammenfügen nehmen und das geht für alle Zeilen ;) ...
Code:

mysql> SELECT TIMEDIFF('2008-12-31 23:59:59.000001',
    ->                '2008-12-30 01:01:01.000002');
        -> '46:58:57.999999'

Bitte schau dir mal ALLE Datums und Zeitfuntkionen an hier der Deutsche Link
von meikel KLICK HIER

mfg

CKaos


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:06:49 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.