none
Problema con programa que pide los minutos y los muestra en hora y minutos. RRS feed

  • Pregunta

  • Hola tengo la siguiente función que muestra la hora completa, a partir de una variable tsegundos.

    private String CalcularTiempo(Int32 tsegundos)
    {
        Int32 horas = (tsegundos / 3600);
        Int32 minutos = ((tsegundos-horas*3600)/60);
        Int32 segundos = tsegundos-(horas*3600+minutos*60);
        return horas.ToString() + ":" + minutos.ToString() + ":" + segundos.ToString();
    }

    Pero a eso le quiero modificar lo siguiente:

    - Los segundos no se mostraran, eso lo puedo lograr al quitarlo del return y la variable segundos.

    - Ahora el calculo se hará a partir de una variable llamada tminutos

    Quisiera que en vez de usar los segundos, usar solo la hora y minutos. Es decir, solo se pedirá al usuario que ingrese un numero, que serán los minutos. Y hacer la conversión a hora y minutos.

    Por ejemplo si ingresó 240. Eso es 4 horas.

    Pero si ingreso, 245. Son 4 horas y 5 minutos. Y el programa debería mostrar eso, la hora y los minutos.

    Pero no se muy bien como hacerlo. Pensaba en el calculo de las horas dividir el tminutos por 60, luego en los minutos multiplicar la hora por 3600 y luego dividirlo en 60. Y al final mostrar los resultados, pero no se si está bien así.


    martes, 17 de marzo de 2020 15:59

Respuestas

  • Hola M4uriXD

    El siguiente método recibe un int con la cantidad de minutos y retorna un string que marca horas y minutos, la pregunta sería si pasa de 24 horas, ¿debería marcar los días? Por ahora no lo hace.

    public string HorasYMinutos(int minutos)
    {
        return (minutos / 60).ToString() + ":" + ((minutos % 60) < 10 ? "0" : "") + (minutos % 60).ToString();
    }

    Espero te sea útil.

    Saludos

    Pablo

    EDITE: para que 4 hs y 5 min sea 4:05 y NO 4:5


    • Editado Tigre Pablito jueves, 19 de marzo de 2020 21:40
    • Marcado como respuesta M4uriXD viernes, 20 de marzo de 2020 3:43
    jueves, 19 de marzo de 2020 21:32

Todas las respuestas

  • Hola M4uriXD,

    Hola 

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te indico que para que solo te muestre los minutos y las horas digitando los segundos lo unico que tendrias que hacer es eliminar los segundos del return.

    private String CalcularTiempo(Int32 tsegundos)
    {
        Int32 horas = (tsegundos / 3600);
        Int32 minutos = ((tsegundos-horas*3600)/60);
        
        return horas.ToString() + ":" + minutos.ToString() ;
    }

     

    Por favor déjame saber si puedo ofrecerte una mejor respuesta

    Gracias por usar los foros de MSDN.

     

    Jordy Quiros

     

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

     

     


    martes, 17 de marzo de 2020 16:13
    Moderador
  • Amigo muchas gracias pro responder, pero eso no es lo que busco. En una parte de lo que expuse, dije que al usuario se le pedirá que ingrese los minutos y de eso se mostrará, en Horas y minutos.

    Los segundos nunca se tomara en cuenta, en ningún momento. No se digitan los segundos, solo los minutos.

    Espero que me haya explicado bien amigo. Gracias.

    martes, 17 de marzo de 2020 16:17
  • Deleted
    martes, 17 de marzo de 2020 16:41
  • Disculpe, me podría explicar que hace aquello. No puedo simplemente insertarlo en mi codigo, necesito saber que hace primero. Gracias.
    martes, 17 de marzo de 2020 16:46
  • Hola M4uriXD

    El siguiente método recibe un int con la cantidad de minutos y retorna un string que marca horas y minutos, la pregunta sería si pasa de 24 horas, ¿debería marcar los días? Por ahora no lo hace.

    public string HorasYMinutos(int minutos)
    {
        return (minutos / 60).ToString() + ":" + ((minutos % 60) < 10 ? "0" : "") + (minutos % 60).ToString();
    }

    Espero te sea útil.

    Saludos

    Pablo

    EDITE: para que 4 hs y 5 min sea 4:05 y NO 4:5


    • Editado Tigre Pablito jueves, 19 de marzo de 2020 21:40
    • Marcado como respuesta M4uriXD viernes, 20 de marzo de 2020 3:43
    jueves, 19 de marzo de 2020 21:32
  • Vale, lo probé y adapte a mi código, de una manera diferente. Pero ahora funciona bien, sobre los días no es necesario, no hay problema que el resultado muestre por ejemplo, 72:30.
    viernes, 20 de marzo de 2020 3:43