iOS中的日期翻转失败

时间:2014-10-06 08:50:06

标签: ios objective-c cocoa-touch nsdateformatter

在我的情况下,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”。

我做错了什么?

1 个答案:

答案 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