2012-04-26 18 views
19

Sto cercando di capire il codice più semplice per aggiungere gli zeri iniziali alle ore e minuti dalla funzione DateTime.Now. Devo combinare solo le ore e i minuti e non ho bisogno del resto della data.Ottieni data Ora e minuti con zero iniziale

Qual è il modo migliore per farlo?

Il mio codice è simile al seguente:

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

Tuttavia ottengo dati quali 16: 4 per 4:04 e ho bisogno di guardare come 16:04. Ho familiarità con gli articoli msdn sulla formattazione datetime ma non ho visto nulla che indirizzi specificamente questo.

E 'possibile combinare `DateTime.Now.Hour.ToString() +": "+ DateTime.Now.Minute.ToString();

In caso contrario, come faccio a tirare solo l'HH: MM da DateTime.Ora facilmente?

Cercare meno righe di codice possibile perché è qualcosa che userò spesso. Grazie

risposta

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

Utilizzando hh vs h farà un leader 0. Lo stesso con mm per i minuti. Se vuoi secondi, puoi usare 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 

Ce ne sono molti altri. Si dovrebbe controllare la documentazione MSDN per il riferimento completo: https://msdn.microsoft.com/library/zdtaw1bw.aspx

+0

Ahh ... come mi sono perso questo..grazie – Encryption

0

provare a utilizzare il parametro di formattazione in ToString

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

se desideri solo le ore ei minuti come valore separato è possibile utilizzare

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