Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema programa sobre hora

Estas en el tema de Problema programa sobre hora en el foro de .NET en Foros del Web. Hola, tengo una pequeña duda con un programa que estoy haciendo, se trata de mostrar la hora universal(24 horas) y hora estadar(12 horas/AM/PM), el problema ...
  #1 (permalink)  
Antiguo 17/11/2011, 22:48
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Pregunta Problema programa sobre hora

Hola, tengo una pequeña duda con un programa que estoy haciendo, se trata de mostrar la hora universal(24 horas) y hora estadar(12 horas/AM/PM), el problema es que cuando meto digamos las 6 horas con 3minutos con 12 segundos, el reloj me sale asi 6:3:12 AM, como hago o que puedo hacer cuando meto un digito del 0 al 9, me agregue otro cero a la izquierda para darle un formato mas real

aqui adjunto el codigo

PruebaTiempo

Código C#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace PruebaTiempo
  7. {
  8.     class PruebaTiempo
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Tiempo miTiempo = new Tiempo();
  13.             int horas1;
  14.             int minutos1;
  15.             int segundos1;
  16.  
  17.             Console.WriteLine("Reloj!!!");
  18.             Console.WriteLine("La hora universal es de:" + miTiempo.horaUniversal());
  19.             Console.WriteLine();
  20.             Console.WriteLine("La hora inicial es de: " + miTiempo.ToString());
  21.             Console.WriteLine();
  22.             Console.WriteLine("Establezca la hora: ");
  23.             horas1 = Convert.ToInt32(Console.ReadLine());
  24.             Console.WriteLine();
  25.             Console.WriteLine("Establezca los minutos:");
  26.             minutos1 = Convert.ToInt32(Console.ReadLine());
  27.             Console.WriteLine();
  28.             Console.WriteLine("Establezca los segundos:");
  29.             segundos1 = Convert.ToInt32(Console.ReadLine());
  30.             miTiempo.establecerHora(horas1, minutos1, segundos1);
  31.             Console.WriteLine();
  32.             Console.WriteLine("La hora universal es de:" + miTiempo.horaUniversal());
  33.             Console.WriteLine();
  34.             Console.WriteLine("La hora inicial establecida es de: " + miTiempo.ToString());
  35.             Console.WriteLine();
  36.  
  37.         }
  38.     }
  39. }

Tiempo

Código C#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace PruebaTiempo
  7. {
  8.     class Tiempo
  9.     {
  10.         private int hora = 00;
  11.         private int minutos = 00;
  12.         private int segundos = 00;
  13.         private string modo;
  14.  
  15.         public void establecerHora(int h, int m, int s)
  16.         {
  17.             if (h >= 0 && h < 24)
  18.             {
  19.                 hora = h;
  20.             }
  21.             else
  22.             {
  23.                 hora = 00;
  24.             }
  25.             if (m >= 0 && m < 60)
  26.             {
  27.                 minutos = m;
  28.             }
  29.             if (s >= 0 && s < 60)
  30.             {
  31.                 segundos = s;
  32.             }
  33.             else
  34.             {
  35.                 segundos = 00;
  36.             }
  37.         }
  38.         public string horaUniversal()
  39.         {
  40.             string horas2;
  41.             string minutos2;
  42.             string segundos2;
  43.  
  44.             horas2 = Convert.ToString(hora);
  45.             minutos2 = Convert.ToString(minutos);
  46.             segundos2 = Convert.ToString(segundos);
  47.  
  48.             return string.Format(horas2+":"+minutos2+":"+segundos2);
  49.  
  50.         }
  51.         public override string ToString()
  52.         {
  53.             string horaNormal;
  54.             string minutoNormal;
  55.             string segundoNormal;
  56.  
  57.             if (hora < 12)
  58.             {
  59.                 modo = "AM";
  60.             }
  61.             else
  62.             {
  63.                 modo = "PM";
  64.             }
  65.             if (hora == 0 || hora == 12)
  66.             {
  67.                 hora = 12;
  68.             }
  69.             else
  70.             {
  71.                 hora = hora % 12;
  72.             }
  73.            
  74.             horaNormal = Convert.ToString(hora);
  75.             minutoNormal = Convert.ToString(minutos);
  76.             segundoNormal = Convert.ToString(segundos);
  77.  
  78.             return string.Format(hora + ":" + minutos + ":" + segundos + " " + modo);
  79.         }
  80.  
  81.     }
  82. }

De antemano grax por la ayuda

Saludos
  #2 (permalink)  
Antiguo 18/11/2011, 07:40
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 9 meses
Puntos: 267
Respuesta: Problema programa sobre hora

Hola baker1562 podrias usar String.Format, te dejo estos artículos para que te guíes :
http://msdn.microsoft.com/es-es/libr...(v=vs.80).aspx
http://www.devjoker.com/contenidos/C...ingFormat.aspx
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 18/11/2011, 17:21
Avatar de msmtotti  
Fecha de Ingreso: noviembre-2008
Mensajes: 47
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema programa sobre hora

Puedes agregar esto a tu valor

PadLeft(2,'0')

Etiquetas: c#, formato, reloj
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 16:18.