2

我正在尝试使用NSDataDetector来检测字符串中的不同数据。我注意到在检测日期时(即 resultType 为NSTextCheckingTypeDate),存在三个有效属性:

  • 日期
  • 期间
  • 时区

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

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

注意duration应该根据NSHipsterApple工作。请注意,在NSTextCheckingResult文档中,有一个标题为“日期和时间的文本检查结果”的部分提到了duration.

4

1 回答 1

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 时区,这就是结果中时间偏移的原因)

于 2014-03-29T18:25:06.923 回答