Objective C 转换格式日期字符串

Objective C convert format date string

我有以下字符串:

2016-02-13T00:00:00

我想格式化它以从中删除时间。

我使用以下代码:

NSDateFormatter *DateFormatter=[[NSDateFormatter alloc] init];
[DateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [DateFormatter dateFromString:periodStr];

NSString *formattedDate = [DateFormatter stringFromDate:date];

由于某种原因,在经过 NSDateFormatter 之后,变量 date 为 null。

我不明白。我做错了什么?

这是因为您的格式 @"yyyy-MM-dd" 与字符串 "2016-02-13T00:00:00" 的格式不匹配。因此 NSDateFormatter 无法从该字符串中提取日期。

你基本上省略了一个步骤。您要做的是从匹配输入字符串的格式开始,然后从字符串中提取日期。然后设置与所需输出字符串匹配的格式,并从日期中提取字符串。