-2

私は次のようにNSDateFormatterを使用しています:

- (void)calendarMonthView:(TKCalendarMonthView *)monthView didSelectDate:(NSDate *)d {
NSLog(@"calendarMonthView didSelectDate %@",d);
NSDate *tempDate = [[NSDate alloc]init];// = d;
NSString *selectedDate = @"2013-02-01 00:00:00 +0000";
//NSString *selectedDate = @"2013-02-04";
NSDateFormatter *dateformatter = [[NSDateFormatter alloc]init];
[dateformatter setDateFormat:@"yyyy-MM-DD hh:mm:ss ZZZZ"];
tempDate = [dateformatter dateFromString:selectedDate];
//if([tempDate compare:d])
if([tempDate isEqualToDate:d])
{
  flagtoCheckSelectedCalendarDate = 1;
}
if(flagtoCheckSelectedCalendarDate == 1)
{
    [self viewDidLoad];
}
if(flagtoCheckSelectedCalendarDate == 2)
{
    [self viewDidLoad];
}
//[table reloadData];

}

なぜこれが間違った日付を出力するのですか?どこが間違っているのですか??提案してください。

4

1 に答える 1

0

[dateformatter setDateFormat:@"yyyy-MM-DD hh:mm:ss ZZZZ"];


フォーマッタ文字列の DD が間違っています。大文字の D は年内の日数です。d が必要です。

d:1~31 (日を0で埋める)

D:1~366 (0 パディングされた年間通算日)

于 2013-02-01T15:15:12.667 に答える