我想检查两个日期:一个是我的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]);
答案 0 :(得分:2)
所以,如果您只想要一个带有日期部分的字符串,只需使用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
,就像您想要的那样。