从日期格式中删除时间

时间:2010-05-29 06:08:38

标签: iphone nsdate nscalendar

我正在开发一个应用程序,因为我已经使用DatePicker来选择日期,但它给了我日期和时间。我已经将该格式转换为字符串,现在我只想要日期。我应该怎么做.Plz建议我一些事情。

以下是我的代码片段。

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

此处日期选择器是UIDatePicker的对象。

2 个答案:

答案 0 :(得分: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是西方最常用的一种。

答案 1 :(得分:0)

这是另一种解决方案:

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

[formatter setDateStyle:NSDateFormatterMediumStyle];
NSDate *day = [formatter dateFromString:[formatter stringFromDate:selected]];
[formatter release];
相关问题