2012-03-17 5 views
1

저는 1 년없이 (예 : 1985 년 5 월 5 일 대신 5 월 5 일) ABRecordRef에 생일을 추가하는 방법을 파악하려고합니다. 이것이 가능한가?kABPersonBirthdayProperty를 1 년없이 주소록에 저장 하시겠습니까?

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"MM/dd/yyyy"]; 
NSDate *date = [df dateFromString:[result valueForKey:@"birthday"]]; 

if(date == nil) 
{ 
     df = [[NSDateFormatter alloc] init]; 
     [df setDateFormat:@"MM/dd"]; 
     date = [df dateFromString:[result valueForKey:@"birthday"]]; 
} 

ABRecordSetValue(person, kABPersonBirthdayProperty, (__bridge CFDateRef)date, nil); 

1970 년에 디폴트 날짜 문자열에 첨부 된 해가없는 경우하지만 전혀 가능하다면 나는 그것이 주소록에 해없이 넣어합니다.

누구든지 알고 계십니까?

답변

0

나는 두려워하지 않습니다. 현재 연도 또는 유닉스 참조 날짜 만 사용하면 적어도 하루와 월가 적당 할 것입니다.

3

생년월일은 연락처 앱을 통해 한 달/일로 설정할 수 있습니다. 그러면 연도가 1604로 설정되고 표시되지 않습니다. ABRecordSetValue()를 수행하기 전에 연도를 1604로 설정하면 Contacts 앱에서 연락처를 볼 때 생년월일이 "5 월 5 일"으로 표시됩니다. 애플이 '노년'을 지정하는 방식 인 것처럼 보입니다. 당신이 그것을 보여줄 계획이라면 나중에 날짜를 수동으로 확인해야합니다. 그렇지 않으면 1604 년이 표시됩니다.

1

생년월일을 1604로 설정하면이 작업을 수행 할 수 있으며 그레고리력에서만 작동합니다.

자세한 내용은 this question and answer을 참조하십시오.