2014-03-28 60 views
2

我试图用NSDataDetector来检测字符串中的不同数据。我注意到,检测日期时(即与resultType是NSTextCheckingTypeDate),有三个有效属性:通过NSDataDetector检测持续时间

  • 日期
  • 时间
  • 的timeZone

我能弄清楚如何创建为日期和时区生成值的字符串,但我不确定哪个字符串会生成持续时间的值。

例如,当我尝试解析12:15 UTC时,它填充日期和时间区域。我在想像10 minutes会产生一个持续时间的值,但它甚至不会产生匹配。

注意duration应根据NSHipsterApple工作。请注意0​​文档中的文本检查结果的日期和时间,其中提到了duration

回答

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时区,这就是为什么小时在结果中被抵消的原因)