Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/03/2017, 12:08
Avatar de KATHYU
KATHYU
 
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Sumar Horas, Minutos y Segundos !!!

Cita:
Iniciado por sustentio Ver Mensaje
una cosa es no saber y otra floreja por no aprenderlo, basta con las clases de DateTime de php para hacer todo eso
Error, si no quisiera hacerlo pediría código, yo pido ideas y vuelve a lo mismo, trabajar con tiempos, yo no quiero trabajar con tiempos quiero hacerlo con numero enteros.

Averigüe un poco mas del % que es el residuo y tengo esto
Código PHP:
Ver original
  1. <?php
  2.   // La cantidad de minutos es la suma que ya tengo de dividir los días y horas a minutos
  3.     $min = 17744;
  4.     //obtener segundos
  5.     $sec = $min * 60;
  6.     //dias es la division de n segs entre 86400 segundos que representa un dia
  7.     $dias=floor($sec/86400);
  8.     echo $dias.'<br>'; // Es igual a 12
  9.     //mod_hora es el sobrante, en horas, de la division de días;
  10.     $mod_hora=$sec%86400;
  11.     //hora es la division entre el sobrante de horas y 3600 segundos que representa una hora;
  12.     $horas=floor($mod_hora/3600);
  13.     echo $horas.'<br>'; // Es igual a 7
  14.     //mod_minuto es el sobrante, en minutos, de la division de horas;
  15.     $mod_minuto=$mod_hora%3600;
  16.     //minuto es la division entre el sobrante y 60 segundos que representa un minuto;
  17.     $minutos=floor($mod_minuto/60);
  18.     echo $minutos.'<br>'; // Es igual a 44
  19. ?>

La respuesta final de este script es 12 días 7 horas y 44 minutos creo que no estoy tan mal.


Cita:
Iniciado por Triby2 Ver Mensaje
Pregunto... ¿no sería lo mismo obtener la diferencia entre dos fechas (incluyendo tiempo)?

Lo pregunto por el siguiente código:
[HIGHLIGHT="PHP"]
$date1 = new DateTime("2009-10-11 14:52:26");
$date2 = new DateTime("2010-10-25 21:29:00");

$interval = date_diff($date1, $date2);
echo $interval->format('%R%a días %H horas %I minutos %S segundos');

# Eso te imprime "+379 días 06 horas 36 minutos 34 segundos"


Como dices que lo tienes en diferentes campos cada datos, simplemente recupera la fecha iniciall y los ajuntas para pasarselo al objeto DateTime, y lo mismo para la fecha final.

Dime a ver si eso te ayudó...
Fíjese que en esencia si, pero en mi caso me gustaría (por aprender) hacerlo con números enteros, incluso el date_diff es algo que yo implemente como solución a alguien que hace poco pedía ayuda con un problema similar.

Y su forma de presentarlo es la idónea y la mas fácil, pero quería complicarme un poco mas la existencia haciéndolo todo paso a paso como enteros

Disculpen si les robe su tiempo, creo que me precipite al exponer mi duda

Ojala a alguien en un futuro tambien le sirva este tema.
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.