2016-06-01 2 views
0

오후 시간에 대한 무기 호변환 문자열 내가 같은 문자열을 날짜로 변환하는 코드에만

  let dateString = detailData.value["eventStart"] as! String 
      print(dateString) 

      let dateFormatter = NSDateFormatter() 
      dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss Z" /*find out and place date format from http://userguide.icu-project.org/formatparse/datetime*/ 
      let date = dateFormatter.dateFromString(dateString) // || date!.timeIntervalSince1970 >= presentDate.timeIntervalSince1970 

      print(date?.timeIntervalSince1970) 

출력입니다 :

2016-05-31 03:18:11 +0000 
Optional(1464664691.0) 

2016-06-03 14:00:44 +0000 
nil 

2016-06-01 00:38:08 +0000 
Optional(1464741488.0) 

2016-06-04 00:25:55 +0000 
Optional(1464999955.0) 

2016-05-31 22:19:54 +0000 
nil 

내가 시간에 볼 오후는 (12+ 이상) return nil.

어떻게 방지 할 수 있습니까?

답변

2

날짜 분석이 실패합니다. 귀하의 경우 입력 문자열에 유효하지 않은 시간 구성 요소로 인해 실패합니다.

12 시간 형식 hh 대신 24 시간 형식 HH을 사용하십시오.

관련 문제