none
¿Cómo sería el formato de fecha y hora si quiero obtener exactamente la misma cadena, sin importar la referencia cultural o la configuración regional? RRS feed

  • Pregunta

  • Por ejemplo, si quiero obtener una cadena conteniendo:

    La fecha actual con este formato fijo: 01-08-2016

    (dos dígitos para el dia, dos dígitos para el mes y cuatro dígitos para el año y separado por guiones)

    y la hora actual con este formato fijo: 03-55-55 p.m.

    (dos dígitos en las horas, los minutos, los segundos y en formato de 12 horas con el texto a.m. o p.m. y separado por guiones)


    • Editado James-2016 martes, 29 de marzo de 2016 0:40
    martes, 29 de marzo de 2016 0:39

Respuestas

  • Hola,

    Te refieres a obtener la fecha formateada?

            Dim fecha As DateTime = DateTime.Now
            TextBox1.Text = Format(fecha, "dd-MM-yyyy")
            TextBox2.Text = fecha.ToString("hh-mm-ss tt", CultureInfo.InvariantCulture)

    Saludos.


    JC NaupaCrispín

    • Marcado como respuesta James-2016 martes, 29 de marzo de 2016 1:26
    martes, 29 de marzo de 2016 0:52
  • Hola,

    Como puedes ver, si no el pones eso el "tt" del formato no sirve, además el InvariantCulture se encuentra asociada al idioma inglés (tomará ese formato), pero a ningún país o región.

    A menos que quieras un formato específico de una región 

    fecha.ToString("hh-mm-ss tt", CultureInfo.CreateSpecificCulture("Es-pe")) '08-13-17 p.m. (Perú)
    fecha.ToString("hh-mm-ss tt", CultureInfo.CreateSpecificCulture("En-us")) '08-13-17 PM  (EE.UU)

    Saludos.


    JC NaupaCrispín

    • Marcado como respuesta James-2016 martes, 29 de marzo de 2016 1:25
    martes, 29 de marzo de 2016 1:21

Todas las respuestas

  • Hola,

    Te refieres a obtener la fecha formateada?

            Dim fecha As DateTime = DateTime.Now
            TextBox1.Text = Format(fecha, "dd-MM-yyyy")
            TextBox2.Text = fecha.ToString("hh-mm-ss tt", CultureInfo.InvariantCulture)

    Saludos.


    JC NaupaCrispín

    • Marcado como respuesta James-2016 martes, 29 de marzo de 2016 1:26
    martes, 29 de marzo de 2016 0:52
  • Sí la a la fecha formateada. Gracias. Para qué sirve exactamente CultureInfo.InvariantCulture en esa expresión?
    martes, 29 de marzo de 2016 1:07
  • Hola,

    Como puedes ver, si no el pones eso el "tt" del formato no sirve, además el InvariantCulture se encuentra asociada al idioma inglés (tomará ese formato), pero a ningún país o región.

    A menos que quieras un formato específico de una región 

    fecha.ToString("hh-mm-ss tt", CultureInfo.CreateSpecificCulture("Es-pe")) '08-13-17 p.m. (Perú)
    fecha.ToString("hh-mm-ss tt", CultureInfo.CreateSpecificCulture("En-us")) '08-13-17 PM  (EE.UU)

    Saludos.


    JC NaupaCrispín

    • Marcado como respuesta James-2016 martes, 29 de marzo de 2016 1:25
    martes, 29 de marzo de 2016 1:21