Hallo,
ich habe in einer tabelle ein feld TIME und möchte dies zu einem aktuellen timestamp hinzufügen. "gelöst" hab ich es schon, doch das ergebnis finde ich mehr als hässlich! hab mit den mysql-funktionen second, minute() und hour() die 3 teile aus dem TIME feld herausgesogen, diese dann zu den jeweils aktuellen sekunden/minuten/stunden dazugezählt und dann wenn der wert größer ist als der zulässige (minuten>60) dividiert und den wert dem nächstgrößeren übergeben.
Auszug:
nun meine frage:
gibt's dafür nicht eine geeignete mysql/php funktion oder eine elegantere methode?
ich habe in einer tabelle ein feld TIME und möchte dies zu einem aktuellen timestamp hinzufügen. "gelöst" hab ich es schon, doch das ergebnis finde ich mehr als hässlich! hab mit den mysql-funktionen second, minute() und hour() die 3 teile aus dem TIME feld herausgesogen, diese dann zu den jeweils aktuellen sekunden/minuten/stunden dazugezählt und dann wenn der wert größer ist als der zulässige (minuten>60) dividiert und den wert dem nächstgrößeren übergeben.
Auszug:
PHP-Code:
$convert = getdate($this->currentTime);
$convert['seconds'] += $array['sbuTimeSecond'];
$convert['minutes'] += $array['sbuTimeMinute'];
$convert['hours'] += $array['sbuTimeHour'];
//oder minuten >59 und stunden ...
while($convert['seconds']>59){
if($convert['seconds']>59){
$convert['seconds'] -= 60;
$convert['minutes'] += 1;
}
if($convert['minutes']>59){
$convert['minutes'] -=60;
$convert['hours'] +=1;
}
if($convert['hours']>23){
$convert['hours'] -= 24;
$convert['mday'] +=1;
}
if($convert['mday']>=date('t')){
$convert['mday'] = 1;
$convert['mon'] +=1;
}
if($convert['mon']>12){
$convert['mon'] = 1;
$convert['year'] +=1;
}
}
$this->buildEndTime = mktime($convert['hours'], $convert['minutes'], $convert['seconds'], $convert['mon'], $convert['mday'], $convert['year']);
gibt's dafür nicht eine geeignete mysql/php funktion oder eine elegantere methode?
Kommentar