「YYYY」と「yyyy」の正確な違いは何ですか。私はこのリンクを読みました、それはそれを述べています
よくある間違いは、YYYY を使用することです。yyyy は暦年を指定し、YYYY は ISO 年週カレンダーで使用される (「年の週」の) 年を指定します。ほとんどの場合、yyyy と YYYY は同じ数値になりますが、異なる場合もあります。通常、暦年を使用する必要があります。
しかし、私が使用しようとすると
NSString *stringDate = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mma"];
NSDate *date=[dateFormatter dateFromString:stringDate];
NSLog(@"Date 1 : %@",date); //2013-02-28 12:00:00 +0000
NSString *stringDatee = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatterr = [[NSDateFormatter alloc] init];
[dateFormatterr setDateFormat:@"MMM dd, YYYY hh:mma"];
NSDate *datee=[dateFormatterr dateFromString:stringDatee];
NSLog(@"Date 2 : %@",datee); //2013-01-05 12:00:00 +0000
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormat stringFromDate:datee];
NSLog(@"date 3 : %@", dateString); //Jan 05, 2013 05:30PM
ここのように結果date
とdatee
違う、と分かったのですが、2日目と3日目の結果が違うのはなぜですか?文字列から日付を作成し、同じものを再び文字列に逆にしていますが、出力の不一致はありますか?
誰かが同じ理由を知っていますか?. 年の週を指定しますが、それでも同じ結果が得られるはずです。
ありがとう..
編集 :-
私がコーディングする場合
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormatterr stringFromDate:[NSDate date]];
NSLog(@"date: %@", dateString); //Feb 28, 2013 04:37PM
適切な結果が得られたが、現在までの文字列として渡したものと同じ場合2013-01-05 12:00:00 +0000
は、NSLog の日付 2 を確認してください。奇妙な結果です。なぜですか?