Как получить сегодняшнюю дату на C# в формате мм / дд / гггг?
Мне нужно установить строковую переменную на сегодняшнюю дату (желательно без года), но должен быть способ лучше, чем строить ее по частям каждый месяц / день.
Кстати: я нахожусь в США, поэтому M / dd будет правильным, например 11 сентября - это 11 сентября.
Примечание: пришел ответ от kronoz, в котором обсуждалась интернационализация, и я подумал, что это было достаточно круто, чтобы упомянуть, поскольку я также не могу сделать его «принятым» ответом.





DateTime.Now.ToString("M/d/yyyy");
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
чч: мм: сс показывает время. DateTime.Now.ToString ("М / д / гггг чч: мм: сс");
DateTime.Now.ToString("dd/MM/yyyy");
DateTime.Now.Date.ToShortDateString()
Я думаю это то что ты ищешь
DateTime.Now.Date.ToShortDateString()
зависит от культуры.
Лучше всего придерживаться:
DateTime.Now.ToString("d/MM/yyyy");
Или без года:
DateTime.Now.ToString("M/dd")
Если хотите без года:
DateTime.Now.ToString("MM/DD");
DateTime.ToString () имеет много интересных строк формата:
string today = DateTime.Today.ToString("M/d");
Не хочу быть ужасно педантичным, но если вы интернационализируете код, может быть более полезно иметь возможность получить короткую дату для данной культуры, например:
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 покажет 1 января как 1/01. Вы хотите 1/01 или только 1/1?