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


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 !!





8
DateTime.Now.Date.ToShortDateString()

é específico da cultura.

É melhor ficar com:

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

5
DateTime.Now.Date.ToShortDateString()

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


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.