Tryparse не преобразует дату и время только в дату - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь преобразовать дату с 01.01.2009 02:00:00 в 01.01.2009 объект datetime.Тем не менее, строка преобразуется, как 01.01.2009, но попытка синтаксического анализа снова возвращает первый вариант.

а также, я хотел бы, на мой взгляд, отображать дату, но не в формате 01.01.2009.Я хотел бы иметь 1 января 2019 года

Что я делаю не так?

Вот мой код.

public DateTime ConvertDate(DateTime dt)
{
        var datestring = dt.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);
        DateTime datePostedObj;
        DateTime.TryParseExact(datestring,
                               "MM/dd/yyyy",
                               null,
                               DateTimeStyles.None,
                               out datePostedObj);

        return datePostedObj.Date;
}

1 Ответ

4 голосов
/ 04 мая 2019

Вы делаете некоторые переделки.

У вас есть уже dt как Datetime. Вы генерируете это текстовое (он же строка) представление, а затем снова анализируете его в DateTime. Это не нужно.

Если вы хотите, чтобы ваша часть даты «только», вы можете получить dt.Date как Datetime.

Если вы хотите получить «1 января 2019» в виде строкового представления из вашего dt, вы можете выполнить некоторую работу, поскольку в .NET Framework нет встроенной функции для суффикса имени дня. Но как это сделать, объясняется в Получение суффикса дня при использовании темы DateTime.ToString () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...