9

在我的应用程序中,我使用 Facebook Graph API,当我获取用户详细信息时,我将用户的生日作为格式为 MM/DD/YYYY 的字符串获取。

我的问题是,如何将字符串“MM/DD/YYYY”转换为NSDate

我试着做

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 [dateFormatter setDateFormat:@"MM/DD/YYYY"];
 NSDate *date = [dateFormatter dateFromString:@"08/08/2012"];
 [dateFormatter release];  

但是我弄错了日期

4

4 回答 4

14

使用NSDateFormatter您可以直接从 a 转换NSStringNSDate. 这是一个例子:

NSDateFormatter* myFormatter = [[NSDateFormatter alloc] init];
[myFormatter setDateFormat:@"MM/dd/yyyy"];
NSDate* myDate = [myFormatter dateFromString:@"8/26/2012"];
NSLog(@"%@", myDate);

有关日期格式模式的详细信息,请参阅Unicode.org

于 2012-08-26T12:17:04.543 回答
5

添加[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]

于 2012-08-26T12:48:50.137 回答
3

你做的一切都很好。您的问题只是格式字符串。

  • 资本M是月。
  • d就是天。
  • y是年。

只需始终如一地使用这些符号,就可以了。

于 2012-08-26T12:35:35.323 回答
1

NSDateFormatter 正是因为存在这样的情况。

于 2012-08-26T12:12:37.620 回答