在我的情况下,iOS允许日期翻转日期,例如11月30日30日,最近的日期,例如3月1日,12月1日。上面的格式为mm / dd或dd / mm的日期。但是当使用dateFromString提取日期格式字符串时,我在xcode中面临一个问题,如下所示:
NSString *myDateString = @"29 Feb 2014";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MMM yyyy"];
NSDate *myDate = [dateFormatter dateFromString:myDateString];
NSLog(@"%@", myDate);
Xcode 5中的输出对于myDate
是'null'。
但有趣的是,代码可以在像http://www.compileonline.com/compile_objective-c_online.php这样的在线Objective-C编译器中运行: 这是按预期给我的日期为“2014-03-01 00:00:00 -0600”。
我做错了什么?
答案 0 :(得分:1)
因为2014年不是闰年。 :)
make year = 2016
NSString *myDateString = @"29 Feb 2016";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MMM yyyy"];
NSDate *myDate = [dateFormatter dateFromString:myDateString];
NSLog(@"%@", myDate);
输出
2016-02-28 18:30:00 +0000