我想检查两个日期:一个在我的 plist 中,格式如下 NSString
2013-08-03 12:26:33 +0000
但是,我只需要 2013-08-03
,如何删除其余时间值?请帮我。
我正在使用以下代码检查日期,它对我有用。但我只需要检索 2013-08-03 12:26:33 +0000
NSString *start = @"2013-08-03 ";
NSString *end = @"2013-08-05";
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd"];
NSDate *startDate = [f dateFromString:start];
NSDate *endDate = [f dateFromString:end];
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit
fromDate:startDate
toDate:endDate
options:0];
NSLog(@"%ld", [components day]);
最佳答案
因此,如果您只需要一个带有日期部分的字符串,只需使用 dateFormatter,类似于您之前所做的。
假设你有一个对某个日期的引用,你想要它的字符串部分,我封装了一个返回带有日期部分的字符串的方法:
-(NSString*) stringDatePartOf:(NSDate*)date
{
NSDateFormatter *formatter = [[NSDateFormatter new];
[formatter setDateFormat:@"yyyy-MM-dd"];
return [formatter stringFromDate:date];
}
例如,如果您传递一个值为 2013-08-03 12:26:33 +0000
的日期,此方法将返回 2013-08-03
,如您所愿。
关于ios - 如何从日期时间格式检索 NSDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18040195/