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およびmonth_of_ac=7、およびtag = 12

ただし、12ではなく2012-07-11が表示されます。

  [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 に答える