Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Stunden und Minuten addieren? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Stunden und Minuten addieren?


 
Lancer20
18-02-2004, 11:14 
 
Einen wunderschönen guten Morgen!:D

Hab gerade folgendes Problem:
In der Tabelle einer Datenbank gibt es u.a. zwei Spalten...eine die "hours" heißt und eine, die "minutes" heißt, beide vom Typ Integer(11).

Jetzt möchte ich aber aus diesen Angaben eine "Gesamtzeit" errechnen.
Hab es schon probiert indem ich eine dritte Spalte eingefügt habe, in die das entsprechende timestamp eingfügt wird. Wenn ich diese allerdings addieren, addiert der auch nicht richtig!

Bin für jede Hilfe sehr dankbar...bin im Moment sehr ratlos!!
THX!

YOURS ANDY:dontknow:

 
dispositor
18-02-2004, 11:16 
 
hours*60+minutes ?!?

 
Lancer20
18-02-2004, 11:23 
 
Ja im Grunde ja schon...aber:

Wenn ich z.B. folgendes habe->

HOURS: 5 und 6
MINUTES: 30 und 45

liefert das als Ergebnis 12,25 Stunden!

Wie komm ich jetzt dazu, dass der aus den 12,25h sowas macht wie 12:15???

Schon mal danke für deine Hilfe! :)

 
asp2php
18-02-2004, 11:35 
 
oh no, das ist Mathe in ... hm... ich Ausländer, ich nicht in Deutschland zur Schule ging, ich nicht weiss welche Klasse ... aber ziemlich früh schon bestimmt :D

12,25 : vor dem Komma sind Stunden, nach dem Komma mal 60 = Minute

Hm... Programmieren und keine mathematischen Grundlagen ist ziemlich tödlich, meinst du nicht ?

 
Abraxax
18-02-2004, 11:36 
 
alle stunden zusammenzählen. dann alle minuten zusammenzählen. dann volle stunden bei den minuten abziehen und bei den stunden aufaddieren. fertig.

 
Lancer20
18-02-2004, 11:45 
 
@ asp2php
Also in Mathe hab ich schon aufgepasst...
aber was hilft mir Mathe bei dem Thema? Das 12,25 eine Zeitangabe ist, ist mir auch klar!
Aber es bring mir nichts 12,25 als GEsamtzeit auszugeben! Da soll eben nicht 12,25 stehen, sonder äquivalent dazu 12:15 (12,25Stunden = 12h:15m)

@ Abraxax
Hmm...hab noch nicht so richtig verstanden was du von mir willst ;)

 
asp2php
18-02-2004, 11:51 
 
Original geschrieben von Lancer20
@ asp2php
Also in Mathe hab ich schon aufgepasst...
aber was hilft mir Mathe bei dem Thema? Das 12,25 eine Zeitangabe ist, ist mir auch klar!
Aber es bring mir nichts 12,25 als GEsamtzeit auszugeben! Da soll eben nicht 12,25 stehen, sonder äquivalent dazu 12:15 (12,25Stunden = 12h:15m)


wie du aus 12,25 12:15 machst weiss du ja schon :D
also formatiert die Ausgabe danach, wo liegt denn das Problem

BTW: zeige mal, was du bisher diesbezüglich versucht hast, oder sollen wir dir den Code eintippen

 
Lancer20
18-02-2004, 11:54 
 
Also bisher dachte ich eher an sowas:


$query = "SELECT sum(concat(hours,'',minutes))
FROM pjx_timesheet
WHERE pjx_projectsid = $id";

$dur = $dbpjx->getID($query);

$time = strtotime($dur);

$duration = date("H:i",$time);


Aber das läuft ja nun nicht gerade :)!

 
mrhappiness
18-02-2004, 12:07 
 
was asp2php dir sagen wollte war:

nehme die variable in der 12,25 steht und trenne beim komma
=> 12 und 0,25

0,25 * 60 (minuten) = 15

=> 12,25h entspricht 12 stunden und 15 minuten

jetzt klar?

 
Lancer20
18-02-2004, 13:00 
 
Hey...

hab das jetzt so gelöst:


$query = "SELECT sum(hours), sum(minutes)
FROM pjx_timesheet
WHERE pjx_projectsid = $id";

$dur = $dbpjx->getArray($query);
$arg = $dur[0][1];
$arg1 = $arg / 60;
$divide = explode(".",$arg1);

If ($divide[1] >= 10) {
$minutes = $divide[1] / 100 * 60;
}
ELSE {
$minutes = $divide[1] / 10 * 60;
}

$hour = $dur[0][0] + $divide[0];

$dura = array("hour" => $hour, "minutes" => $minutes);
$duration = implode(":",$dura);


Noch ma danke für eure Hilfe!

YOURS ANDY:rocks:


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:32 Uhr.