2016-10-11 2 views
0

생년월일을 1 년 또는 5 년 (다른 언어의 경우 더 복잡한 직원)으로 표시 할 수있는 도서관이 있습니까?iOS에서 swift를 사용하여 현지화 된 날짜로 생일을 나이로 변환하십시오.

NSDateForamatte r은 많이 할 수 있지만이 있습니다. 또한 https://github.com/MatthewYork/DateTools이 있지만 일부 언어로 잘못 표시되며 이상하고 불필요한 "이전"문제가 추가됩니다.

+1

'DateComponentsFormatter'을 사용하십시오. – rmaddy

답변

2

가장 간단한 방법은 DateComponentsFormatter를 사용하는 것입니다. 예 (스위프트 3) :

let birthDate = ... // The birthdate 
let dcf = DateComponentsFormatter() 
dcf.allowedUnits = .year 
dcf.unitsStyle = .full 
let age = dcf.string(from: birthDate, to: Date()) 
print(age) 

정확한 출력을 얻으려면 포맷터의 속성을 조정할 수 있습니다.

+0

나는 this'let 생년월일 =있는 NSDate() // 생년월일을 시도 DCF = DateComponentsFormatter하자() dcf.calendar = 일정 (식별자 : Calendar.Identifier.chinese) dcf.allowedUnits = .year dcf.unitsStyle =. 전체 age = dcf.string (from : birthDate from Date, to : Date()) print (age)'를 인쇄하고 중국어 연도는 인쇄하지 않습니다. – Lumialxk

+0

중국어 로켈이 아닌 경우 포맷터의'locale'을 적절하게 설정해야합니다. – rmaddy

+0

감사! 많은 것을 배우십시오! – Lumialxk

관련 문제