如何在ios中将日期字符串转换为NSDate

Sri*_*ddy -1 iphone nsdate ios

我从网络服务获取日期和时间看起来像日期是"2013-10-29"和"11:30"(或"23:30"),但我想要显示日期,如"10 OCT.2013"​​和时间是"上午11:30"(或"晚上11:30").关于这类问题,我已经经历了很多答案,但当我尝试返回"null"而没有错误或警告时.请帮助我...

Ale*_*lex 11

应用此代码更改手动编码的时间和日期与您的属性,它应该工作.

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate * dateNotFormatted = [dateFormatter dateFromString:@"2013-10-29"];
[dateFormatter setDateFormat:@"d MMM.YYYY"];    
NSString * dateFormatted = [dateFormatter stringFromDate:dateNotFormatter];

[dateFormatter setDateFormat:@"HH:mm"];
NSDate * timeNotFormatted = [dateFormatter dateFromString:@"11:30"];
[dateFormatter setDateFormat:@"hh:mm a"];    
NSString * timeFormatted = [dateFormatter stringFromDate:timeNotFormatter];
Run Code Online (Sandbox Code Playgroud)

另一个选项是将更严格的时间和日期放在一个字符串中并使用以下格式:

    [dateFormatter setDateFormat:@"d MMM.YYYY at hh:mm a"];    
Run Code Online (Sandbox Code Playgroud)