NSDateFormatter dateFromString 格式字符串问题
Posted
技术标签:
【中文标题】NSDateFormatter dateFromString 格式字符串问题【英文标题】:NSDateFormatter dateFromString format string issue 【发布时间】:2015-06-02 11:47:18 【问题描述】:我今天遇到了一个小问题:我从网络服务器收到了几个日期(NSString)。要正确使用这些日期,需要将它们解析为 NSDate 对象,为此我使用以下代码:
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"dd.MM.yyy HH:mm:ss";
return [formatter dateFromString:dateString]
我收到的日期格式如下,例如:@"02.06.2015 13:31:24"。
我的问题是上面的代码返回 nil。我认为问题可能是我没有正确的格式字符串,我无法正确处理..
任何帮助将不胜感激!
【问题讨论】:
尝试使用 [NSDate date] 而不是你的 dateString 并告诉我你得到了什么? 您是否阅读过 Apple 关于使用格式解析日期的技术说明? 您似乎在年份部分缺少一个 y... @DavidSilverFarmer 你的问题解决与否。 虽然您在年份格式中缺少“y”,但它适用于我。因此,我怀疑您收到的格式的正确性。 【参考方案1】:您的格式中缺少一个“y”。应该是:
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"dd.MM.yyyy HH:mm:ss";
return [formatter dateFromString:dateString]
【讨论】:
【参考方案2】:请尝试以下代码 -
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"dd.MM.yyyy HH:mm:ss";
return [formatter dateFromString:dateString]
【讨论】:
【参考方案3】:-(NSDate *)getDateFromString:(NSString *)string
NSString * dateString = [NSString stringWithFormat: @"%@",string];
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd.MM.yyyy HH:mm:ss"];
NSDate* myDate = [dateFormatter dateFromString:dateString];
return myDate;
在需要的地方调用它:)
[self getDateFromString:@"13.07.2013 16:22:11"];
【讨论】:
以上是关于NSDateFormatter dateFromString 格式字符串问题的主要内容,如果未能解决你的问题,请参考以下文章