2017-05-09 9 views
0

내가 구성 요소 달에 날짜 문자열 "6월 18일"(MM/YY)를 변환하려고하고 YY/MM 날짜 열

let dateString = "06/18" 

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "MM/YY" 
if let date = dateFormatter.date(from: dateString) { 
    let calendar = Calendar(identifier: .gregorian) 
    let components = calendar.dateComponents([.month, .year], from: date) 
    // contains year: 2017 month: 12 isLeapMonth: false 
} 

왜 dateComponents은 2017 년 대신 월 (12) 2018 년과 12 년?

시간대 문제입니까?

2018과 12를 얻을 수있는 깨끗한 방법이 있습니까?

+2

은 : * "A 일반적인 실수는 YYYY를 사용하는 것입니다."* –

+0

을 항상 대신 YY' –

답변

3

dateFormatMM/yy에서 MM/YY으로 변경하면 모두 설정됩니다. 심지어 애플의 문서에서

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "MM/yy" 
if let date = dateFormatter.date(from: dateString) { 

} 
+0

'의'yy'를 사용하는 것을 고려 ... 물론 지금 내가 바보가 된 기분) – MarkHim

+1

@MarkHim 그것은 친구가 발생 :) –