2008-08-28 23 views
77

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

Necesito establecer una variable de cadena a la fecha de hoy (preferiblemente sin el año), pero tiene que haber una forma mejor que compilarla mes a mes día por pieza.

BTW: Estoy en los Estados Unidos, por lo que M/dd sería correcto, p. El 11 de septiembre es el 11 de septiembre.

Nota: una respuesta de Kronoz vino en esa internacionalización discutida, y pensé que era lo suficientemente impresionante como para mencionarlo ya que no puedo convertirla en una respuesta 'aceptada' también.

kronoz's answer

+3

M/dd mostraría Jan 1 como 1/01. ¿Quieres 1/01 o solo 1/1? –

Respuesta

8
DateTime.Now.ToString("dd/MM/yyyy"); 
3
DateTime.Now.Date.ToShortDateString() 

creo que esto es lo que busca

7
DateTime.Now.Date.ToShortDateString() 

es cultura específica.

Es mejor seguir con es:

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

o sin el año:

DateTime.Now.ToString("M/dd") 
6
string today = DateTime.Today.ToString("M/d"); 
20

Por no ser terriblemente pedante, pero si usted está internacionalizando el código que podría ser más útil tener la facilidad para obtener la fecha corto 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 limpio !!

Cuestiones relacionadas