我有一个无法正常工作的NSDateformatter。我的日期是这样的字符串。
2013-02-20 00:00:00
我需要将它作为NSDate返回,就像这样
2013-02-20
目前我得到的是这个。
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
[dateFormat dateFromString:dateString]
但这不起作用。 有什么帮助吗?
答案 0 :(得分:4)
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate* date=[dateFormat dateFromString: dateString];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSLog(@"%@",[dateFormat stringFromDate: date]);
这会奏效 试试吧
答案 1 :(得分:2)
如果你有更多的日期要解析,那么创建一个输入和一个输出日期格式化程序是值得的
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返回,就像这样
日期没有格式,只是一个时间点。你需要在需要的地方创建一个具有所需格式的字符串。