如何将ISO字符串值解析为NodaTime Instant?

27

我正在学习NodaTime并且喜欢它。但是我还不太熟悉它!

如果给出一个值,例如“2014-04-08T09:30:18Z”,需要哪些步骤才能将这样的字符串解析为NodaTime的Instant?

谢谢!

1个回答

36

我弄清楚了。对于其他想做同样事情的人,这是我使用的方法:

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的示例不多,但我非常喜欢它,并越来越依赖它。团队的出色工作。谢谢!

7
很高兴你到了那里 - http://nodatime.org/1.2.x/userguide/text.html 是用户指南中文本处理的起点。我个人建议使用 InstantPattern.ExtendedIsoPattern,因为它还支持小数秒。你说得对,我们绝对需要在用户指南中添加示例... - Jon Skeet
1
@JonSkeet - 你好Jon。作为一位也试图采用这个库的人,感谢你的辛勤工作。我必须提到一些建设性批评,如果在文档中编织一些简单的代码示例,那么文档会更容易理解。 - CShark
1
@CraftBeerHipsterDude:明白了。我真的很想通过支持http://csharppad.com的代码获得一个实时实验环境选项,但是我还没有成功。对于2.0版本,我们也希望有一组“食谱” - 我已经开始了(http://nodatime.org/unstable/userguide/recipes.html),但是进展不大。 - Jon Skeet
2
这个不再起作用了。GeneralPattern已经更名为Patternvar result = InstantPattern.General.Parse(isoString).Value; - Julien Ambos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接