Как мне получить сегодняшнюю дату в C # в формате мм / дд / гггг?
Вопрос
Как мне получить сегодняшнюю дату в C # в формате мм / дд / гггг?
Мне нужно установить строковую переменную на сегодняшнюю дату (желательно без указания года), но должен быть лучший способ, чем создавать ее по месяцу / дню по одному элементу за раз.
Кстати:Я нахожусь в США, так что M / dd было бы правильным, например11 Сентября - это 11 сентября.
Примечание:пришел ответ от kronoz, в котором обсуждалась интернационализация, и я подумал, что это было достаточно потрясающе, чтобы упомянуть, поскольку я также не могу сделать это "принятым" ответом.
Решение
DateTime.Now.ToString("M/d/yyyy");
Другие советы
Не хочу показаться ужасно педантичным, но если вы интернационализируете код, возможно, было бы полезнее иметь возможность получить краткую дату для данной культуры, например:-
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;
}
Хотя очевидно, что подход "м / дд / гггг" значительно аккуратнее!!
DateTime.Now.ToString("dd/MM/yyyy");
Если вы хотите, чтобы это было без указания года:
DateTime.Now.ToString("MM/DD");
DateTime.В toString() есть много интересных строк формата:
DateTime.Now.Date.ToShortDateString()
это специфика культуры.
Лучше всего придерживаться:
DateTime.Now.ToString("d/MM/yyyy");
string today = DateTime.Today.ToString("M/d");
DateTime.Now.Date.ToShortDateString()
Я думаю, это то, что вы ищете
Или без указания года:
DateTime.Now.ToString("M/dd")