¿Cómo obtengo la fecha de hoy en C # en formato mm / dd / aaaa?

105

¿Cómo obtengo la fecha de hoy en C # en formato mm / dd / aaaa?

Necesito establecer una variable de cadena para la fecha de hoy (preferiblemente sin el año), pero tiene que haber una mejor manera que construirla mes - / - día una pieza a la vez.

Por cierto: estoy en los EE. UU., Por lo que M / dd sería correcto, por ejemplo, el 11 de septiembre es el 11 de septiembre.

Nota: llegó una respuesta de kronoz que hablaba de la internacionalización, y pensé que era lo suficientemente impresionante como para mencionarla, ya que no puedo convertirla en una respuesta 'aceptada' también.

la respuesta de kronoz

Keng
fuente
4
M / dd mostraría el 1 de enero como 1/01. ¿Quieres 1/01 o solo 1/1?
Joel Coehoorn

Respuestas:

23

No quiero ser terriblemente pedante, pero si está internacionalizando el código, podría ser más útil tener la posibilidad de obtener la fecha corta para una cultura determinada, por ejemplo: -

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;
}

Aunque claramente el enfoque "m / dd / aaaa" es considerablemente más ordenado.

ljs
fuente
13
DateTime.Now.ToString("dd/MM/yyyy");
Corin Blaikie
fuente
8
string today = DateTime.Today.ToString("M/d");
Billy Jo
fuente
8
DateTime.Now.Date.ToShortDateString()

es específico de la cultura.

Es mejor seguir con:

DateTime.Now.ToString("d/MM/yyyy");
Corin Blaikie
fuente
5
DateTime.Now.Date.ToShortDateString()

Creo que esto es lo que estás buscando

Josh Mein
fuente
3

O sin el año:

DateTime.Now.ToString("M/dd")
EBGreen
fuente