Як отримати сьогоднішню дату у форматі C # у форматі мм / дд / гггг?


105

Як отримати сьогоднішню дату у форматі C # у форматі мм / дд / гггг?

Мені потрібно встановити змінну рядка на сьогоднішню дату (бажано, без року), але має бути кращий спосіб, ніж будувати її місяць - / - день по одній штуці.

BTW: Я в США, тому M / dd було б правильним, наприклад 11 вересня - це 11 вересня.

Примітка: відповідь від kronoz надійшла в обговоренні інтернаціоналізації, і я вважав, що це досить приголомшливо згадати, оскільки я також не можу зробити це "прийнятою" відповіддю.

відповідь kronoz


4
M / dd показало б 1 січня як 1/01. Ви хочете 1/01 або просто 1/1?
Joel Coehoorn

Відповіді:



23

Не бути страшенно педантичним, але якщо ви інтернаціоналізуєте код, може бути кориснішим можливість отримати коротку дату для даної культури, наприклад:

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

Хоча явно підхід "m / dd / yyyy" значно акуратніше !!





8
DateTime.Now.Date.ToShortDateString()

є специфічною для культури.

Найкраще дотримуватися:

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.