2014-03-28 2 views
2

NSDataDetector을 사용하여 문자열의 다른 데이터를 감지하려고합니다.NSDataDetector를 통한 기간 감지

  • 날짜
  • 기간
  • timeZone가

내가 만드는 방법을 알아낼 수 있었다 : 나는 날짜를 감지 할 때 (즉, resultType이 NSTextCheckingTypeDate입니다), 세 가지 유효한 속성이 있다는 것을 발견 date 및 timeZone에 대한 값을 생성하는 문자열이지만 duration에 대한 값을 생성 할 문자열이 확실하지 않습니다.

예를 들어, 12:15 UTC을 구문 분석하면 날짜와 시간대가 채워집니다. 10 minutes과 같은 것이 지속 시간 값을 생성 할 것이라고 생각했지만 일치하는 항목도 생성하지 않았습니다.

: durationNSHipsterApple에 따라 작동합니다. NSTextCheckingResult 설명서에는 날짜 및 시간에 대한 텍스트 검사 결과 섹션이 있으며 duration이 언급되어 있습니다.

답변

3

데이터 감지기가 날짜 간격을 감지하면 기간이 있습니다.

"1 년 12 월 12 일 2 12 월 10 일에서"이 로깅 코드 :이 문자열 예를 들어

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 시간대, 결과에서 시간이 오프셋 된 이유입니다)