根据我的要求生成日期

Bho*_*ani 0 iphone nsdate

我想按日期格式化程序生成日期, 2012-07-12但它显示为 2012-07-11 我的代码:

  NString * today_selected=[NSString  stringWithFormat:@"%d%@%d%@%d",year_for_activated,@"-",month_for_activated,@"-",taged];      NSDateFormatter *Df=[[NSDateFormatter alloc]init];
Run Code Online (Sandbox Code Playgroud)

// here year_of_ = 2012和month_of_ac = 7,tag = 12

但它显示2012-07-11而不是12.

  [Df setDateFormat:@"YYYY-MM-DD" ];
  NSDate *date_selected=[Df dateFromString: today_selected];
  NSLog(@"today_selected:%@",date_selected);
Run Code Online (Sandbox Code Playgroud)

但它显示2012-01-12

Nic*_*ull 5

请阅读文档,其中规定

它使用yyyy来指定年份组件.一个常见的错误是使用YYYY.yyyy指定日历年,而YYYY指定ISO年度日历中使用的年份("年度周").在大多数情况下,yyyy和YYYY会产生相同的数字,但它们可能会有所不同.通常,您应该使用日历年.

另外你会注意到,那天dd不是DD

当您发现这样的问题时,您的第一站应该是文档