Iphone 如何将字符串日期转换为NSDate

Iphone 如何将字符串日期转换为NSDate,iphone,ios,nsdateformatter,Iphone,Ios,Nsdateformatter,我需要将2013/5/23转换为日。这里的问题是一个月有5个 2013/5/23=>周四 我正在使用的代码: NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"yyyy/MM/dd"]; NSDate *date = [dateFormat dateFromString:@"

我需要将2013/5/23转换为日。这里的问题是一个月有5个

2013/5/23=>周四

我正在使用的代码:

        NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
        [dateFormat setDateFormat:@"yyyy/MM/dd"];
        
        NSDate *date = [dateFormat dateFromString:@"2013/5/23"];
        NSLog(@"Date :%@",date);
        
        [dateFormat setDateFormat:@"EEEE"];
        NSLog(@"DAY %@",[dateFormat stringFromDate:date]);
输出是

日期:2013-05-22 18:30:00+0000

星期四

实际上,根据我输入的日期正确打印日期。但打印的日期是错误的。
应该是
2013-05-23

您可以像这样设置时区

[dateFormat setLocale:[NSLocale currentLocale]];
[dateFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
[dateFormat setTimeZone:[NSTimeZone localTimeZone]];

可能重复阅读苹果公司的NSDateFormatter文档,并查找其使用示例。我已经检查了答案。但我的问题是一个月有5个。不是05。同意@Rajneesh071你到底想要什么?请澄清。如果打印日期会有什么问题?@Abizern我想OP会感到困惑,调用
[NSDate description]
(通过
NSLog(@“%@”);
)与使用
NSDateFormatter
以他想要的格式获取日期是不同的。他在问题中没有提到任何关于时区的内容,他说他想要的只是指定输入日期的星期几。我认为这个问题完全是假的。有谁能解释投票被否决的原因吗?我想改进答案,若你们有合适的解决方案,若并没有,那个么就并没有必要否决投票。。