2011-11-14 23 views
62

Estoy tratando de obtener la hora actual a través de DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")DateTime.Now.ToString ("aaaa-MM-dd hh: mm: ss") devuelve la hora AM en lugar de la hora PM?

Sin embargo, esto está escupiendo un tiempo de 12 horas de lo que queremos.

Por ejemplo:

Lo que escupe: 11/14/2011 2:24:56 am

lo que queremos: 11/14/2011 2:24:56 pm

¿Qué error novato estamos haciendo?

Cualquier ayuda es muy apreciada :)

+2

Dónde se agrega el marcador am/pm ya que no está en su cadena de formato, p. 'tt'? –

+7

Por alguna razón, lo que dice que produce la cadena de formato ('14/11/2011 2:24:56 a.m.') es muy diferente de lo que esperaría de la cadena de formato que publicó (' aaaa-MM-dd hh: mm: ss') para producir. ¿Estas seguro acerca de esto? – Oded

Respuesta

141

Uso HH para el formato de hora de 24 horas:

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 

O el especificador tt formato para la parte AM/PM:

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") 

Tome una mirada en la documentación custom Date and Time format strings.

+0

Tuve que usar MomentJS solo para hacer eso, esto ahorra muchísimo tiempo :) –

Cuestiones relacionadas