Как преобразовать строковое значение ISO в NodaTime Instant?

Я знакомлюсь с NodaTime и мне это очень нравится. Но я не знаю этого так хорошо (пока)!

Учитывая такое значение, как «2014-04-08T09:30:18Z», какие шаги необходимо выполнить для синтаксического анализа такой строки в NodaTime Instant?

Благодарю вас!


person ivnext    schedule 23.04.2014    source источник


Ответы (1)


Я понял это. Для тех, кто хочет сделать то же самое, вот что я использовал:

var isoString = "2014-04-08T09:30:18Z";

var result = InstantPattern.GeneralPattern.Parse(isoString).Value;

Свойство Value в этом случае возвращает фактический объект Instant. Если вы опустите это, в этом случае результат будет типа ParseResult<Instant> и будет содержать другую информацию, такую ​​как успешность синтаксического анализа и т. д.

http://nodatime.org/1.2.x/api/html/T_NodaTime_Text_ParseResult_1.htm

На Noda Time пока не так много примеров, но мне действительно он нравится, и я обращаюсь к нему все чаще и чаще. Фантастическая работа команды, которая его создала. Благодарю вас!

person ivnext    schedule 23.04.2014
comment
Рад, что вы попали туда - nodatime.org/1.2.x/userguide/text.html является отправной точкой для обработки текста в руководстве пользователя. Я бы предложил вместо этого лично использовать InstantPattern.ExtendedIsoPattern, так как это также будет поддерживать дробные секунды. Вы правы, нам обязательно нужны примеры в руководстве пользователя... - person Jon Skeet; 24.04.2014
comment
@JonSkeet - Привет, Джон. Как человек, который также пытается внедрить эту библиотеку, спасибо за вашу тяжелую работу. В качестве конструктивной критики должен отметить, что документацию было бы намного легче понять, если бы в нее были вплетены несколько простых примеров кода. - person CShark; 07.07.2015
comment
@CraftBeerHipsterDude: Понятно. Я бы очень хотел получить вариант экспериментальной среды в реальном времени с помощью кода, поддерживающего csharppad.com , но пока не успел. Для 2.0 мы также хотели бы иметь набор рецептов — я начал с него (nodatime .org/unstable/userguide/recipes.html), но пока не добились большого прогресса. - person Jon Skeet; 07.07.2015
comment
Это больше не работает. GeneralPattern был переименован в Pattern: var result = InstantPattern.General.Parse(isoString).Value; - person Julien Ambos; 18.08.2020