2010-05-29 1 views
0

나는 DatePicker를 사용하여 날짜를 선택했지만 날짜가 주어진다는 점에서 응용 프로그램을 개발 중입니다. 그 형식을 문자열로 변환 했으므로 이제 그 날짜를 원합니다. 내가 어떻게해야 돼 .Plz가 나에게 뭔가 제안 해.날짜 형식에서 시간 지우기

다음은 내 코드 단편입니다.

NSDate *selected =[datePicker date]; 
    NSString *dateString = [NSString stringWithFormat:@"%@", selected]; 

여기에서 날짜 선택 도구는 UIDatePicker의 개체입니다.

답변

0

NSCalendar을 사용하면 날짜의 월, 일 및 년 구성 요소를 가져 와서 조작하고 재구성 할 수 있습니다. 다음은 몇 가지 예제 코드입니다.

NSCalendar *calendar = [NSCalendar currentCalendar]; 
NSDateComponents *dateComponents = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:date]; 

[otherDateComponents setYear:[dateComponents year]]; 
[otherDateComponents setMonth:[dateComponents month]]; 
[otherDateComponents setDay:[dateComponents day]]; 

NSDate *newDate = [calendar dateFromComponents:otherDateComponents]; 

현재 캘린더는 로케일별로 다르므로 반환되는 값은 모든 장치에서 동일하지 않습니다. 특정 캘린더를 원하는대로 지정할 수 있습니다. NSGregorianCalendar은 서쪽에서 가장 자주 사용되는 것입니다.

NSDate *selected =[datePicker date]; 
NSDateFormatter *formatter = [NSDateFormatter new]; 

[formatter setDateStyle:NSDateFormatterMediumStyle]; 
NSDate *day = [formatter dateFromString:[formatter stringFromDate:selected]]; 
[formatter release]; 
0

다른 해결책이다. 가능성은 희박하지만 원하는 필드를 반환하지 않을 수도 있습니다. 그레고리력을 추측 할 수있는 한 허용 된 솔루션이나 사용자 정의 형식 문자열과 같은 명시적인 방법을 사용하면 더 안전합니다.
+0

는'NSDateFormatterMediumStyle' 로케일 특정이다 : 여기 – warrenm