修剪NSDate仅显示日期

Ben*_*Ben 3 iphone objective-c nsdate nsdateformatter ios

我已经经历了所有类似的问题,不幸的是非解决我的问题所以我问了.我需要我的函数返回一个NSDate唯一的日期,但我的返回值也包含时间,我已经尝试了setTimeStyle noStyle以及我能提出的每个可能的解决方案,这里是代码:

-(NSDate*)stringToDate{
    NSString *dateString = @"01-02-2010";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd-MM-yyyy"];
    NSDate *date;
    date = [dateFormatter dateFromString:dateString];
    NSLog(@"%@",date);
    return date;
} 
Run Code Online (Sandbox Code Playgroud)

输出是: 2010-01-31 16:00:00 +0000

我想要的是: 2010-01-31

cre*_*orn 11

这不起作用,当您打印NSDate对象时,它将打印整个日期.从日期获得字符串表示的方式是使用aNSDateFormatter

NSDateFormatter *format = [[NSDateFormatter alloc] init];
format.dateFormat = @"dd-MM-yyyy";

NSLog(@"%@", [format stringFromDate:[NSDate new]]);
Run Code Online (Sandbox Code Playgroud)

如果你愿意的话,你可以把它放在NSDate的一个类别中.