Ответ 1
String test = DateTime.Now.ToString("dd.MM.yyy");
Как я могу получить текущую дату, но без времени? Я пытаюсь преобразовать дату из формата "dd.mm.yyyy" в "yyyy-MM-dd", потому что DateTime.Now
возвращает время тоже, я получаю сообщение об ошибке (String was not recognized as a valid DateTime
.), Когда я пытаюсь сделать следующие.
string test = DateTime.ParseExact(DateTime.Now.ToString(), "dd.MM.yyyy", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
String test = DateTime.Now.ToString("dd.MM.yyy");
Используйте свойство Date: получает компонент даты этого экземпляра.
var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;
variable date
содержит дату, а время - 00:00:00.
или
Console.WriteLine(DateTime.Now.ToString("dd/MM/yyyy"));
или
Метод DateTime.ToShortDateString -
Console.WriteLine(DateTime.Now.ToShortDateString ());
Вы пробовали
DateTime.Now.Date
String test = DateTime.Now.ToShortDateString();
он должен быть таким же простым, как
DateTime.Today
Это должно работать:
string datetime = DateTime.Today.ToString();
Как уже упоминалось в уже полученных ответах, вы можете использовать ToShorDateString()
:
DateTime.Now.ToShortDateString();
Однако вы можете быть немного заблокированы, если вы также хотите использовать культуру в качестве параметра. В этом случае вы можете использовать метод ToString()
с форматом "d"
:
DateTime.Now.ToString("d", CultureInfo.GetCultureInfo("en-US"))
Попробуйте следующее:
var mydtn = DateTime.Today;
var myDt = mydtn.Date;return myDt.ToString("d", CultureInfo.GetCultureInfo("en-US"));
Если вам нужен именно ваш пример, вы должны добавить формат ToString()
string test = DateTime.ParseExact(DateTime.Now.ToString("dd.MM.yyyy"), "dd.MM.yyyy", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
Но лучше использовать прямое форматирование:
string test = DateTime.Now.ToString("yyyy-MM-dd")