6

dateformatter で日付を表示しようとしましたが、これは日付の年を変更します。

これは方法です:

setLabelWithDate:(NSdate *)date{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
    [dateFormatter setTimeZone:gmt];    
    [dateFormatter setDateFormat:@"dd MMMM YYYY"];

    NSLog(@"Date : %@",date);
    NSLog(@"stringFromDate %@",[dateFormatter stringFromDate:date]);

    self.selectedDateLabel.text = [dateFormatter stringFromDate:date];
    [dateFormatter release];
}

そして、これはコンソールに表示されるものです:

2012-05-04 13:08:50.442 MyAppli[3339:fb03] Date : 2012-12-30 00:00:00 +0000
2012-05-04 13:08:50.443 MyAppli[3339:fb03] stringFromDate 30 December 2013

私はここにいます。dateFormatter は myDate を 1 年追加しますが、その理由は本当にわかりません。このケースは、年の最後の 2 つの日付 (12 月 30 日と 31 日) でのみ発生します。

ご協力いただきありがとうございます。

アレクサンドル

4

1 に答える 1

9

使用する

[dateFormatter setDateFormat:@"dd MMMM yyyy"]; // lowercase y

おそらくこれこれを確認する必要があります。

于 2012-05-04T11:45:45.193 に答える