0

我想按日期格式化程序制作日期, 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];

//这里year_of_=2012 and month_of_ac=7, and tag=12

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

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

但它显示 2012-01-12

4

3 回答 3

5

请阅读说明文件

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

您还会注意到这一天是dd,不是DD

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

于 2012-07-11T11:35:47.637 回答
2
try this:
NString *today_selected=@"2012-07-12";
NSDateFormatter *Df=[[NSDateFormatter alloc]init];
[Df setDateFormat:@"yyyy-MM-dd" ];
NSDate *date_selected=[Df dateFromString: today_selected];
NSLog(@"today_selected:%@",date_selected);
于 2012-07-11T11:41:10.480 回答
1

试试这个以获得 2012-07-12 ,这种类型的格式化程序:

  NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];

 [dateFormat setDateFormat:@"yyyy-MM-dd"];

  NSDate *now = [[NSDate alloc] init];

  NSString *theDate = [dateFormat stringFromDate:now];
于 2012-07-11T11:41:49.683 回答