Pergunta

Como obtenho a data de hoje em C# no formato mm/dd/aaaa?

Preciso definir uma variável de string para a data de hoje (de preferência sem o ano), mas deve haver uma maneira melhor do que construí-la mês/dia, uma peça de cada vez.

POR FALAR NISSO:Estou nos EUA, então M/dd estaria correto, por ex.11 de setembro é 11 de setembro.

Observação:Chegou uma resposta de kronoz discutindo a internacionalização, e achei incrível o suficiente para mencioná-la, já que não posso torná-la uma resposta 'aceita' também.

resposta de Cronos

Foi útil?

Solução

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

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

Outras dicas

Não quero ser terrivelmente pedante, mas se você estiver internacionalizando o código, pode ser mais útil ter a facilidade de obter a data abreviada para uma determinada cultura, por exemplo: -

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

Embora claramente a abordagem "m/dd/yyyy" seja consideravelmente mais organizada!!

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

Se você quiser sem o ano:

DateTime.Now.ToString("MM/DD");

DateTime.ToString() tem muitas strings de formato interessantes:

http://msdn.microsoft.com/en-us/library/aa326721.aspx

DateTime.Now.Date.ToShortDateString()

é específico da cultura.

É melhor ficar com:

DateTime.Now.ToString("d/MM/yyyy");
string today = DateTime.Today.ToString("M/d");
DateTime.Now.Date.ToShortDateString()

Eu acho que isto é o que você está procurando

Ou sem o ano:

DateTime.Now.ToString("M/dd")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top