我尝试使用NSDataDetector来检测字符串中的不同数据。我注意到,当检测到日期(即resultType为NSTextCheckingTypeDate
)时,有三个有效的属性:
我能够弄清楚如何创建为日期和时区生成值的字符串,但我不确定哪个字符串会产生持续时间的值。
例如,当我尝试解析12:15 UTC
时,它会填充日期和时区。我认为像10 minutes
这样的东西会产生持续时间的值,但它甚至不会产生匹配。
注意:duration
应该符合NSHipster和Apple的要求。请注意在NSTextCheckingResult
文档中,有一个标题为文本检查日期和时间的结果的部分提及duration
。
答案 0 :(得分:3)
如果数据检测器检测到日期间隔,您将获得持续时间。例如,使用此字符串:"从12月10日2月到12月12日1"
以及此日志记录代码:
NSLog(@"Match: %@ (duration %g)", result, result.duration);
我明白了:
Match: <NSDateCheckingResult: 0x7fc2da810830>{0, 45}{2014-12-10 13:00:00 +0000-2014-12-12 12:00:00 +0000} (duration 169200)
(我在UTC + 1时区,这就是为什么小时在结果中被抵消)