2017-01-19 2 views
0

일부 날짜에는 NSDateFormatter를 사용하여 날짜 형식을 지정하려고합니다. 같은 방식으로 서식을 지정하고 첫 번째 숫자없이 시간을 반환하고 다른 날짜는 null을 반환합니다.null 값을 반환하는 NSDateFormatter

NSDateFormatter *dateFormat = [NSDateFormatter new]; 
[dateFormat setDateFormat:@"EEEE dd/MM/yyyy HH:mm"]; 
dateFormat.locale = [NSLocale localeWithLocaleIdentifier:@"en_AU"]; 
NSDate *startDate = [dateFormat dateFromString:startString]; 
NSDate *endDate = [dateFormat dateFromString:endString]; 

이 날짜 : "토요일 2017년 1월 21일 17:00"반환 (널)

이 날짜 : "목요일 2017년 2월 9일 14:00"2017-09-를 반환합니다 02 4시 0분 0초 0000

이 날짜 : "목요일 2017년 2월 9일 20:30"2017년 9월 2일 10시 30분 0초 0000

은 다른 사람이 되거 수 반환 내가 잘못 가고있는 곳. 감사합니다.

+4

"dd/MM": DAY/MONTH이지만 "1/21 /", 분명히 MONTH/DAY, 21 번째 월 때문에 ... 그리고 호주에서는 동쪽 부분에 대해 GMT에 -10이 있습니다. 그것이 10 시간을 제거하는 이유입니다. – Larme

+0

고맙습니다. 나는 그것을 단지 두 번째 전에 알았다, 내가 늦게 일하려고 노력하는 것에 얻는 thats. 당신은 대답으로 그것을 넣을 수 있습니까? 그래서 나는 그것을 해결 된 것으로 표시 할 수 있습니다. –

답변

1

EEEE dd/MM/yyyy HH:mm ~ EEEE MM/dd/yyyy HH:mm입니다. 일과 월을 반전시키는 작은 실수. 분명히 "Saturday 1/21/2017 17:00"은 1 월 21 일을 의미하기 때문에 1 월의 21 번째 월은 존재하지 않습니다 (적어도 여기서는 그렇지 않습니다).

10 시간 차이는 시간대 때문입니다. en_AU (내가 추측하는 동해안)에는 GMT와의 10 시간 차이가 있습니다.