2012-04-26 28 views
19

Estoy tratando de encontrar el código más simple para agregar ceros a las horas y minutos de la función DateTime.Now. Necesito combinar solo las horas y los minutos, y no necesito el resto de la fecha.Obtener hora de fecha Horas y minutos con Zero principal

¿Cuál es la mejor manera de hacerlo?

Mi código es el siguiente:

DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString(); 

Sin embargo puedo recuperar los datos, tales como 16: 4 para 16:04 y lo necesito para parecerse a 16:04. Estoy familiarizado con los artículos msdn sobre el formato de fecha y hora, pero no vi nada que aborde esto específicamente.

¿Es posible combinar `DateTime.Now.Hour.ToString() +": "+ DateTime.Now.Minute.ToString();

Si no, ¿cómo podría sacar solo el HH: MM de DateTime.Now fácilmente?

Buscando las menos líneas de código posibles porque esto es algo que voy a utilizar a menudo. Gracias

Respuesta

57
DateTime.Now.ToString("hh:mm") // for non military time 
DateTime.Now.ToString("HH:mm") // for military time (24 hour clock) 

Usando hh vs h hará un mismo 0 inicial con mm por minuto. Si quiere segundos, puede usar ss.

MM - Month with leading 0 
M - Month without leading 0 
dd - Day with leading 0 
d - Day without leading 0 
yyyy - 4 Digit year 
yy - 2 Digit year 
HH - Military Hour with leading 0 
H - Military Hour without leading 0 
hh - Hour with leading 0 
h - Hour without leading 0 
mm - Minute with leading 0 
m - Minute without leading 0 
ss - Second with leading 0 
s - Second without leading 0 

Hay muchos más. Usted debe verificar la documentación de MSDN para la referencia completa: https://msdn.microsoft.com/library/zdtaw1bw.aspx

+0

Ahh ... cómo extrañé esto ... gracias – Encryption

0

intente utilizar el parámetro de formato en ToString

[DateTime]::Now.ToString("hh:mm") 
4

si solo deseas las horas y los minutos como valor separado que puede usar

DateTime.Now.Hour.ToString("00.##") + ":" + ateTime.Now.Minute.ToString("00.##"); 
Cuestiones relacionadas