Foros del Web » Programando para Internet » PHP »

PHP OO Como hacer esto php

Estas en el tema de Como hacer esto php en el foro de PHP en Foros del Web. Buenas tardes ente un pequeño problema con unos string que no consigo resolver a ver si me ayudais. el tiempo se mide en minutos: segundos ...
  #1 (permalink)  
Antiguo 03/12/2012, 12:41
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Como hacer esto php

Buenas tardes ente un pequeño problema con unos string que no consigo resolver a ver si me ayudais.

el tiempo se mide en minutos: segundos

Código PHP:
$tiempo 01:15 ;
$tiempo2 00:38 ;
$tiempo3 10:55 
Tengo 3 caso.
1. si encuentro un "0" en el minuto lo debo de quitar por lo que se quedaria en 1:15
2. si encuentro dos "00" tambien debo de quitarlo se quedaria en 38segundos
3. si es mayor de 9 evidentemente no debe de hacer nada.

Le he estado dando vueltas y no consigo hacerlo... la finalidad es pasar esos minutos a segundos y sumarle los que tengo ahoram ismo lo estoy haciendo con un eval(*60)+$tiempo pero el maldito eval cuando tiene un 0 no lo evalua bien....
ayudadme!!! gracias!!
  #2 (permalink)  
Antiguo 03/12/2012, 12:58
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Como hacer esto php

Conviertelo a mktime(), los restas y luego lo vuelves a convertir a date('H:i')

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 03/12/2012, 12:59
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Como hacer esto php

Hola nfo, yo intentaría hacerlo con el manejo de cadenas. Por lo que he entendido, solo necesitas quitar los '0' de la izquierda. Así que yo comprobaría si la cadena empieza por '0', y si le sigue otro '0'. Separa la cadena y quita los '0' que vayan delante de los dos puntos.
  #4 (permalink)  
Antiguo 03/12/2012, 13:06
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Como hacer esto php

Cita:
Iniciado por TheScript Ver Mensaje
Hola nfo, yo intentaría hacerlo con el manejo de cadenas. Por lo que he entendido, solo necesitas quitar los '0' de la izquierda. Así que yo comprobaría si la cadena empieza por '0', y si le sigue otro '0'. Separa la cadena y quita los '0' que vayan delante de los dos puntos.
Como lo hago ????
  #5 (permalink)  
Antiguo 03/12/2012, 13:21
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Como hacer esto php

Demonios... eso me pasa por leer mientras escucho una conferencia de prensa.

Haz esto:
Código PHP:
Ver original
  1. $tiempo = fixHora('01:15');
  2. $tiempo2 = fixHora('00:38');
  3. $tiempo3 = fixHora('10:55');  
  4.  
  5. function fixHora($hora){
  6.     $ret = '';
  7.     $flag = false;
  8.     $arr = explode(':';$hora);
  9.     if(intval($arr[0]) > 0){
  10.         $flag = true;
  11.         $ret .= intval($arr[0]);
  12.     }
  13.     if(intval($arr[1]) > 0 && $flag){
  14.         $ret .= ':'.intval($arr[1]);
  15.     }elseif(intval($arr[1]) > 0 && $flag){
  16.         $ret .= intval($arr[1]).' segundo(s)';
  17.     }else{
  18.         $ret .= ' minuto(s)';
  19.     }
  20.     return $ret;
  21. }
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: Ninguno
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 02:11.