none
Problema con Date AM/PM RRS feed

  • Pregunta

  • Estimados tengo este codigo, el problema es que en mi PC son las 1:09pm pero en el label me sale 1:09am.. que puedo hacer para solucionar el problema? Saludos, y a la espera de su prontra rpta. AM

     

    Dim Hora As Date

    Hora = Format(Now, "hh:mmTongue Tieds")

    label1.text = hora

    martes, 20 de enero de 2009 18:25

Respuestas

  • Hola andresms15,

     

    fíjate en este ejemplo:

     

    Code Snippet

    Dim date1 As Date
    date1 = #6:09:01PM#
    Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
                      CultureInfo.InvariantCulture))
    ' Muestra 06:09:01 PM                       
    Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _

                      CultureInfo.CreateSpecificCulture("hu-HU")))
    ' Muestra 06:09:01 du.
    date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
    Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                      CultureInfo.InvariantCulture))
    ' Muestra 06:09:01.50 PM                       
    Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                      CultureInfo.CreateSpecificCulture("hu-HU")))
    ' Muestra 06:09:01.50 du.

     

     

    Debes utilizar la clase CultureInfo para especificar la cultura en la que quieres formatear la fecha.

     

    tienes más ejemplos de formateo aqui:

     

    http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

     

    Espero que te sirva de ayuda!

     

    Si es así, porfavor, marca la respuesta como válida! Wink

     

    Gracias y suerte!

     

    jueves, 22 de enero de 2009 15:29

Todas las respuestas

  • Hola andresms15,

     

    fíjate en este ejemplo:

     

    Code Snippet

    Dim date1 As Date
    date1 = #6:09:01PM#
    Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _
                      CultureInfo.InvariantCulture))
    ' Muestra 06:09:01 PM                       
    Console.WriteLine(date1.ToString("hh:mm:ss.FF tt", _

                      CultureInfo.CreateSpecificCulture("hu-HU")))
    ' Muestra 06:09:01 du.
    date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
    Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                      CultureInfo.InvariantCulture))
    ' Muestra 06:09:01.50 PM                       
    Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                      CultureInfo.CreateSpecificCulture("hu-HU")))
    ' Muestra 06:09:01.50 du.

     

     

    Debes utilizar la clase CultureInfo para especificar la cultura en la que quieres formatear la fecha.

     

    tienes más ejemplos de formateo aqui:

     

    http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

     

    Espero que te sirva de ayuda!

     

    Si es así, porfavor, marca la respuesta como válida! Wink

     

    Gracias y suerte!

     

    jueves, 22 de enero de 2009 15:29
  • Hola. El problema es que "hh" representa la hora como un reloj de 12 horas y el formato que le estás pasando no muestra el AM/PM, entonces confunde. Podrías cambiar el formato a esto:

    Code Snippet
    "hh:mm:ss tt"

     

     

    (de esta forma sí mostraría el AM/PM). Aunque, te recomiendo lo siguiente:

    Code Snippet
    Label1.Text = DateTime.Now.ToLongTimeString()

     

     

    jueves, 22 de enero de 2009 17:27