我正在开发一个应用程序,我使用 DatePicker 来选择日期,但它给了我带有时间的日期。我已经将该格式转换为字符串,现在我只想从中获取日期。我该怎么做。请给我一些建议。
以下是我的代码片段。
NSDate *selected =[datePicker date];
NSString *dateString = [NSString stringWithFormat:@"%@", selected];
这里日期选择器是 UIDatePicker 的对象。
我正在开发一个应用程序,我使用 DatePicker 来选择日期,但它给了我带有时间的日期。我已经将该格式转换为字符串,现在我只想从中获取日期。我该怎么做。请给我一些建议。
以下是我的代码片段。
NSDate *selected =[datePicker date];
NSString *dateString = [NSString stringWithFormat:@"%@", selected];
这里日期选择器是 UIDatePicker 的对象。
这是另一个解决方案:
NSDate *selected =[datePicker date];
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateStyle:NSDateFormatterMediumStyle];
NSDate *day = [formatter dateFromString:[formatter stringFromDate:selected]];
[formatter release];
您可以使用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
是西方最常用的一种。