从你原来的问题我不完全清楚你是否想要:
1 字符串作为NSDate
.
或者
2 能够NSString
从NSDate
实例中取回原始日期。
您的代码基本上是正确的。我只是运行了一个稍微改编的版本,它似乎工作正常:
NSString *dateString = @"01-22-12";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM-dd-yy"];
NSDate *date = [dateFormatter dateFromString:dateString];
NSString *outString = [dateFormatter stringFromDate:date];
NSLog(@"%@",date);
NSLog(@"%@",outString);
这产生了:
2013-02-24 09:57:24.352 datesAgain.m.out[787:707] 2012-01-22 00:00:00 +0000
2013-02-24 09:57:24.352 datesAgain.m.out[787:707] 01-22-12
因此,无论哪种方式,结果似乎都是您想要的。我怀疑您获得不正确值的原因是它self.selectedWeek
没有您认为的值。我会在调试器中或使用NSLog
. 如果您使用另一个格式字符串在其他地方创建它,请注意它们可能会很棘手并且有点不直观 - 例如s
意味着秒,但S
意味着几分之一秒。此处提供的文档-此处的最新 Unicode 格式标准(ios6.0/OSX 10.8) - 也链接到上一个链接,所有以前的相关标准也是如此