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

105

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 construir mês - / - dia uma peça de cada vez.

BTW: Estou nos EUA, então M / dd seria correto, por exemplo, 11 de setembro é 11/9.

Nota: veio uma resposta da Kronoz que discutia internacionalização, e eu achei incrível mencioná-la, já que não posso torná-la uma resposta 'aceita' também.

resposta de Kronoz

Keng
fonte
4
M / dd mostraria 1º de janeiro como 01/01. Você quer 01/01 ou apenas 1/1?
Joel Coehoorn

Respostas:

23

Não quero ser terrivelmente pedante, mas se você está 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 / aaaa" seja consideravelmente mais limpa !!

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

é específico da cultura.

É melhor ficar com:

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

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

Josh Mein
fonte
3

Ou sem o ano:

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