Разбор формата в DateTime - PullRequest
       2

Разбор формата в DateTime

0 голосов
/ 05 сентября 2018

Я хочу отформатировать DateTime в следующий формат yyyy-MM-ddTHH:mm:ssZ, но сохранить его в DateTime.

Вот что я пробовал:

string t = Convert.ToString(DateTime.UtcNow);
DateTime d2 = DateTime.ParseExact(t, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture);

Но я получаю следующую ошибку:

System.FormatException: 'The string was not recognized as a valid DateTime value.'

это результат, который я хочу получить: 2018-09-05T09: 29: 56Z

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

DateTime - это просто примитивный тип, и вам лучше преобразовать его в нужный вам формат.

Формат - это просто презентация вашего типа DateTime

string t = Convert.ToString(DateTime.UtcNow); // it gives you a string like 9/5/2018 9:38:40 AM
DateTime d2 = DateTime.ParseExact(t, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture);

Очевидно, что введенный вами формат не соответствует строке t

Попробуйте это

//to have the right format
var t = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ"); //it gives 2018-09-05T09:44:14Z

//to convert a string with a format given
DateTime.ParseExact("2018-09-09:38:40Z", "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture)
0 голосов
/ 05 сентября 2018

Нет, вы не можете этого сделать. Если вам необходимо отобразить объект Date в локализованном формате, вы можете использовать метод Overrided .ToString(), например, следующий:

string formatString = "yyyy-MM-ddTHH:mm:ssZ";
DateTime utcDate = DateTime.UtcNow;
string formatedDate = utcDate.ToString(formatString) 

Подробнее о Стандартные строки формата даты и времени

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