【发布时间】:2014-05-23 15:23:57
【问题描述】:
NSString *string = @"1990-04-15";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
return [dateFormatter dateFromString:string];
这总是返回null,当“字符串”被任何其他日期字符串更改时它可以正常工作,这个日期(1990-04-15)有那么特别吗?
xcode 5、IOS 7、iphone 应用
整个方法和上下文:
在“Tools.m”中:
+(NSDate *)stringToDate:(NSString *)string{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
return [dateFormatter dateFromString:string];
}
以及调用的方法:
NSDate *date = [Tools stringToDate:@"1990-04-15"];
NSLog(@"---- the date:%@",date);
【问题讨论】:
-
当然这是一个特殊的日子……艾玛·沃特森出生于它。
-
代码很好,当我测试它时返回一个
NSDate对象。是否还有其他可能导致问题的东西? -
你能把整个方法贴出来吗?以及它的使用范围?因为当前的 sn-p 一切正常
-
对于所有说它运行良好的人:请包括您的地理位置和运行良好的时区。另外,OP,请同时包括 您的 位置和时区。我在
NSDateFormatter中看到了只影响特定区域的人的错误:对一个人“正常工作”的东西返回nil对另一个人。有关此示例,请参阅 stackoverflow.com/questions/12167829/…。 -
@NSGod 这不是错误!日期格式化程序比您知道的更多。 :) 它与当地夏令时有关(在指定或假定的语言环境中) - 提议的日期时间是在由于提前设置时钟而导致的“缺失时间”期间。
标签: ios nsdateformatter