2016-08-21 2 views
0

사용자가 기본 달력에 이벤트를 저장할 수있는 신속한 응용 프로그램이 있습니다. 1 부분을 제외한 모든 것이 잘 작동하는 것 같습니다. 사용자가 날짜 선택 도구에서 시작 날짜와 종료 날짜를 설정할 수 있도록 허용합니다. 형식은 이벤트 키트 용 NSDate

Sunday 21 Aug, 11:05 pm 

나는이 날짜를 취하는 저장 버튼을 가지고 내가

let startDate = "\(txtStartDate.text!)" 
let endDate = "\(txtEndDate.text!)" 
let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "EEEE d MMM, h:mm a" 

event.title = "\(txtEventTitle.text!)" 
event.startDate = dateFormatter.dateFromString(startDate)! 
event.endDate = dateFormatter.dateFromString(endDate)! 
event.notes = "\(txtNotes.text!)" 
event.calendar = eventStore.defaultCalendarForNewEvents 

를 사용하여 유효한있는 NSDate로 변환하려고하지만 어떤 이유로 늘 이벤트를 저장합니다. 내가

event.startDate = NSDate() 

모든 것을 시작 날짜를 변경하는 경우 그래서 나는 그것이 절약 큰 알고 작품.

변환에 무엇이 누락되었는지 확실하지 않습니다.

감사

답변

0

사실 그 놀이터가 ...

복사하고 놀이터에 코드를 붙여 당신이 날짜 포맷은 주어진 문자열 및 날짜 형식 nil을 반환 것을 볼거야.

문제는 로캘입니다. 코드가 현재 로케일과 독립적으로 작동하도록 로케일을 명시 적으로 en_US_POSIX으로 설정해야합니다.

출처 : Technical Q&A QA1480 NSDateFormatter and Internet Dates

let startDate = "Sunday 21 Aug, 11:05 pm" 
let dateFormatter = NSDateFormatter() 
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") 
dateFormatter.dateFormat = "EEE dd MMM, h:mm a" 

let eventStartDate = dateFormatter.dateFromString(startDate)! 
+0

이 큰 덕분이다. – puks1978