2013-04-08 4 views

risposta

35

Bassa mm mezzi minuti, quindi

DateTime.Now.ToString("dd/MM/yyyy"); 

o

DateTime.Now.ToString("d"); 

o

DateTime.Now.ToShortDateString() 

works.

Standard Date and Time Format Strings

+2

Riguardo a chi ha provato a modificare la mia risposta, l'ordine in cui i giorni, il mese e l'anno appaiono dipende dalla cultura corrente. Ecco perché hai notato una differenza tra il primo e l'altro approccio. Puoi sempre usare una cultura spefic, f.e. utilizzando l'overload di DateTime.ToString. –

+0

L'unico punto che farei con questa soluzione è che questi restituiscono 2 diversi formati quando si dispone di un giorno o un mese a una cifra, DateTime.Now.ToString ("gg/MM/aaaa") ti dice 01/01/2017 dove come gli altri due ti darebbero 1/1/2017. – StackoverflowLoser

4

Deve essere MM per mesi. Stai chiedendo minuti.

DateTime.Now.ToString("dd/MM/yyyy"); 

Vedi Custom Date and Time Format Strings su MSDN per i dettagli.

+0

ciao, sto usando esattamente il codice sopra, quando viene eseguito da questa data automaticamente separato usando' - 'invece di'/'. ho creato un registro per verificare l'input. puoi aiutarmi a risolvere questo problema, il formato della data della macchina è solo gg/MM/aaaa. – Vijayaraghavan

+0

ho impostato un valore nella casella di testo Textbox.Text = DateTime.Today.ToString ("gg/MM/aaaa"); ma riconosce come: 30-08-2016 – Vijayaraghavan

+0

credo di aver trovato una soluzione qui http://stackoverflow.com/questions/6343289/why-does-datetime-tostringdd-mm-yyyy-give-me-dd-mm- yyyy – Vijayaraghavan

9

uso MM (mesi) invece di mm (minuti):

DateTime.Now.ToString("dd/MM/yyyy"); 

controllo here per ulteriori opzioni di formato.

+0

Ha funzionato. Grazie !! – pordi

2

Usa MM per mesi. mm è per minuti.

DateTime.Now.ToString("dd/MM/yyyy"); 

Probabilmente esegue questo codice agli inizi un'ora come (00:00, 05.00, 18.00) e mm dà minuti (00) al vostro datetime.

Da Custom Date and Time Format Strings

"mm" -> Nel momento in cui, da 00 a 59.

"MM" -> Il mese, da 01 a 12.

Ecco uno DEMO. (Che il mesi parte della prima linea dipende da quale tempo si esegue questo codice ;))

0

In aggiunta a quanto le altre risposte hanno detto, si noti che il '/' personaggio in "dd/MM/yyyy" non è un personaggio letterale: rappresenta il separatore di data della cultura dell'utente corrente. Pertanto, se la cultura corrente utilizza le date yyyy-MM-dd, quando chiamerai aString ti darà una data come "31-12-2016" (usando i trattini invece delle barre).Per forzare l'utilizzo di barre, è necessario sfuggire a questo carattere:

DateTime.Now.ToString("dd/MM/yyyy")  --> "19-12-2016" for a Japanese user 
DateTime.Now.ToString("dd/MM/yyyy")  --> "19/12/2016" for a UK user 
DateTime.Now.ToString("dd\\/MM\\/yyyy") --> "19/12/2016" independent of region 
Problemi correlati