2010-05-29 124 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是西方最常用的一種。

0

下面是另一種解決方案:

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

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

'NSDateFormatterMediumStyle'是區域特異性的。雖然不太可能,但它可能不會返回你想要的字段。只要您可以承擔公曆,您就可以使用明確的方法(如接受的解決方案或自定義格式字符串)更安全。 – warrenm 2010-06-01 17:32:06