Преобразование строковой даты в определенный формат даты и времени - PullRequest
0 голосов
/ 30 июня 2018

У меня есть формат даты и времени в строке вроде следующего:

дата начала:

2018/06/30 23:00

и дата окончания:

2018/07/01 19:32

А теперь я хотел бы преобразовать эту строку в такой формат:

2017-02-11T19:58:18.918Z

Дата начала и окончания должны быть в этой дате - строковый формат

Я пробовал что-то вроде этого:

   var properStart = DateTimeOffset.ParseExact(startdate, "yyyy-MM-dd'T'HH:mm:sszzz",
                                                       CultureInfo.InvariantCulture).ToString();
   var properEnd = DateTimeOffset.ParseExact(enddate, "yyyy-MM-dd'T'HH:mm:sszzz",
                                                CultureInfo.InvariantCulture).ToString();

Но это дает мне ошибку, подобную следующей:

Additional information: String was not recognized as a valid DateTime.

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

1 Ответ

0 голосов
/ 30 июня 2018

Вы пытаетесь разобрать эту строку:

"2018/06/30 23:00"

Указание этого формата:

"yyyy-MM-dd'T'HH:mm:sszzz"

Этот формат не соответствует этой строке, поэтому анализ не выполняется. Разбор по формату, в котором находится ввод:

var properStart = DateTimeOffset.ParseExact(startdate, "yyyy/MM/dd HH:mm",
                                                   CultureInfo.InvariantCulture)

Затем выведите в нужный вам формат:

var properStartOutput = properStart.ToString("yyyy-MM-dd'T'HH:mm:sszzz");

Или, если вы действительно хотите все это в одну строку:

var properStart = DateTimeOffset.ParseExact(startdate, "yyyy/MM/dd HH:mm",
                                                   CultureInfo.InvariantCulture).ToString("yyyy-MM-dd'T'HH:mm:sszzz").

Дело в том, что синтаксический анализ ввода и форматирование вывода - это две разные операции.

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