如果您有多个要解析的日期,则值得创建一个输入和一个输出日期格式化程序
static NSDateFormatter *inputDateFormatter;
static NSDateFormatter *outputDateFormatter;
if (!inputDateFormatter) {
inputDateFormatter= [[NSDateFormatter alloc] init];
[inputDateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
outputDateFormatter = [[NSDateFormatter alloc] init];
[outputDateFormatter setDateFormat:@"yyyy-MM-dd"];
}
NSDate *date = [inputDateFormatter dateFromString:@"2013-02-20 00:00:00"];
NSString *string = [outputDateFormatter stringFromDate:date];
NSLog(@"%@", string);
结果
2013-02-20
由于创建 NSDateFormatter 的成本很高,因此您应该将它们存储在单例中或将它们声明为静态以便为该方法创建一次。
我需要像这样将它作为 NSDate 返回
日期没有格式,它只是一个时间点。您必须在需要的地方创建一个具有所需格式的字符串。