Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

convertir fecha obtenida en segundos a horas minutos y segundos

Estas en el tema de convertir fecha obtenida en segundos a horas minutos y segundos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola tengo esta funcion para convertir los la fecha en segundos que obtengo de la db pero quiero que tenga dias como hago para agregarle ...
  #1 (permalink)  
Antiguo 18/04/2014, 06:45
Avatar de marmol  
Fecha de Ingreso: marzo-2004
Ubicación: en argentina
Mensajes: 197
Antigüedad: 20 años, 1 mes
Puntos: 4
De acuerdo convertir fecha obtenida en segundos a horas minutos y segundos

hola tengo esta funcion para convertir los la fecha en segundos que obtengo de la db
pero quiero que tenga dias como hago para agregarle dias de ante manos muchas gracias!!

Código PHP:
Ver original
  1. function conversor_segundos($seg_ini) {
  2.  
  3. $horas = floor($seg_ini/3600);
  4. $minutos = floor(($seg_ini-($horas*3600))/60);
  5. $segundos = $seg_ini-($horas*3600)-($minutos*60);
  6. return "".$horas." horas : ".$minutos." Min : ".$segundos." Segundos..";
  7.  
  8. }
__________________
Fabricante Maquina industriales
http://www.guidobatanmaquinarias.com
  #2 (permalink)  
Antiguo 18/04/2014, 07:03
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: convertir fecha obtenida en segundos a horas minutos y segundos

Ok. a ver. la fecha la estas pasando como timestamp de unix?


Podrias hacer algo asi, creo :
Código PHP:
Ver original
  1. $dt = new DateTime ( "$tuFecha" )
  2.          $minutos = $dt->format("i");
  3.          $segundos = $dt->format('s');
  4.          $dias = $dt->format('d');
  5.          return "segundos : $segundos, minutos : $minutos, dias : $dias";

Si quieres capturar el total de dias transcurridos en los meses entonces deberias ver en que mes estas y capturar el total de dias de cada mes anterior y sumarlos.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #3 (permalink)  
Antiguo 18/04/2014, 10:38
Avatar de marmol  
Fecha de Ingreso: marzo-2004
Ubicación: en argentina
Mensajes: 197
Antigüedad: 20 años, 1 mes
Puntos: 4
Respuesta: convertir fecha obtenida en segundos a horas minutos y segundos

hola gracias por la respuesta asi es como convierto la fecha
$fecha_actual = strtotime(date("Y-m-d H:i:s"));
y me da 1397166120

con eso lo paso por la funcion y me da las horas minutos segundos bueno voy a probar lo que dices
__________________
Fabricante Maquina industriales
http://www.guidobatanmaquinarias.com
  #4 (permalink)  
Antiguo 18/04/2014, 10:55
Avatar de marmol  
Fecha de Ingreso: marzo-2004
Ubicación: en argentina
Mensajes: 197
Antigüedad: 20 años, 1 mes
Puntos: 4
Respuesta: convertir fecha obtenida en segundos a horas minutos y segundos

no me funciona :(
lo cambie asi:
Código PHP:
Ver original
  1. $dt = new DateTime ($seg_ini);
  2.          $minutos = $dt->format('i');
  3.          $segundos = $dt->format('s');
  4.          $dias = $dt->format('d');
  5.          return "segundos : ".$segundos.", minutos : ".$minutos.", dias : ".$dias."";
no se que le faltaria
__________________
Fabricante Maquina industriales
http://www.guidobatanmaquinarias.com
  #5 (permalink)  
Antiguo 18/04/2014, 11:11
Avatar de marmol  
Fecha de Ingreso: marzo-2004
Ubicación: en argentina
Mensajes: 197
Antigüedad: 20 años, 1 mes
Puntos: 4
Respuesta: convertir fecha obtenida en segundos a horas minutos y segundos

ya lo solucione me puse hacer cuentas con la calcu y funco :D:D

Código PHP:
Ver original
  1. function conversor_segundos($seg_ini) {
  2. $dias = floor($seg_ini/86400);
  3. $horas = floor($seg_ini/3600);
  4. $minutos = floor(($seg_ini-($horas*3600))/60);
  5. $segundos = $seg_ini-($horas*3600)-($minutos*60);
  6. return "Dias ".$dias." : ".$horas." horas ".$minutos." Min : ".$segundos." Segundos..";
  7.  
  8. }
__________________
Fabricante Maquina industriales
http://www.guidobatanmaquinarias.com
  #6 (permalink)  
Antiguo 18/04/2014, 15:32
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: convertir fecha obtenida en segundos a horas minutos y segundos

Me alegra, solucionaras, sin embargo no se que error te dio con lo que te dije. Lo probé y me funciona perfecto.

Lo agrego aqui por si deseeas ver, adicionalmente agregue una funcion para comvertir la fecha a timestamp de unix para que fuese cm dijiste que la capturabas...
Código PHP:
Ver original
  1. <?PHP
  2.  function timestampUnix($fecha='') {
  3.        
  4.         if($fecha==''){
  5.            
  6.             $dateTimeZoneCaracas = new DateTimeZone ( "America/Caracas" );
  7.             $dateTimeCaracas = new DateTime ( "now", $dateTimeZoneCaracas );
  8.             $caracasOffset = $dateTimeZoneCaracas->getOffset ( $dateTimeCaracas );
  9.             $caracasDateTime = strtotime ( date ( "Y-m-d H:i:s", time () + $caracasOffset ) );
  10.            
  11.         }else{
  12.            
  13.             $caracasDateTime = strtotime($fecha);
  14.            
  15.         }  
  16.        
  17.         return $caracasDateTime;
  18.     }
  19.  
  20. function fechaDetallada($fecha){
  21.     #$dt = new DateTime ( "@$epoch" );
  22.    $dt = new DateTime ( "@$fecha");
  23.              $minutos = $dt->format('i');
  24.              $segundos = $dt->format('s');
  25.              $dias = $dt->format('d');
  26.              return "segundos : ".$segundos.", minutos : ".$minutos.", dias : ".$dias."";
  27.  
  28.  }
  29.  
  30.  echo fechaDetallada(timestampUnix(date('Y-m-d H:m:s')));
  31. ?>
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #7 (permalink)  
Antiguo 19/04/2014, 23:36
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: convertir fecha obtenida en segundos a horas minutos y segundos

pues más simple lo veo sacando provecho a el método setTimestamp de la clase DateTime
Código PHP:
Ver original
  1. $timestamp = strtotime(date("2014-01-01 H:i:s"));
  2. $dateTime = new DateTime();
  3. $dateTime->setTimestamp($timestamp);
  4. echo $dateTime->format('Y-m-d H:i:s');
sin tener que estar haciendo cuentas raras ni mucho menos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: fecha, horas, minutos, segundos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:00.