Come ottengo la data odierna in C # nel formato mm / gg / aaaa?


105

Come ottengo la data odierna in C # nel formato mm / gg / aaaa?

Ho bisogno di impostare una variabile stringa sulla data odierna (preferibilmente senza l'anno), ma deve esserci un modo migliore rispetto a costruirla mese - / - giorno un pezzo alla volta.

BTW: Sono negli Stati Uniti quindi M / dd sarebbe corretto, ad esempio l'11 settembre è l'11 settembre.

Nota: una risposta di kronoz è arrivata in quella discussa internazionalizzazione, e ho pensato che fosse abbastanza impressionante da menzionarla poiché non posso renderla anche una risposta "accettata".

la risposta di kronoz


4
M / dd mostrerebbe il 1 gennaio come 1/01. Vuoi 1/01 o solo 1/1?
Joel Coehoorn

Risposte:



23

Non per essere terribilmente pedante, ma se stai internazionalizzando il codice potrebbe essere più utile avere la possibilità di ottenere la data breve per una data cultura, ad esempio: -

using System.Globalization;
using System.Threading;

...

var currentCulture = Thread.CurrentThread.CurrentCulture;
try {
  Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-us");
  string shortDateString = DateTime.Now.ToShortDateString();
  // Do something with shortDateString...
} finally {
  Thread.CurrentThread.CurrentCulture = currentCulture;
}

Anche se chiaramente l'approccio "m / gg / aaaa" è considerevolmente più ordinato !!





8
DateTime.Now.Date.ToShortDateString()

è specifico della cultura.

È meglio attenersi a:

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

5
DateTime.Now.Date.ToShortDateString()

Penso che questo sia quello che stai cercando


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.