2010-05-29 241 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

相关问题