-1

私のコードは次のとおりです。

NSString *dateString = @"1339007317";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy"];
NSDate *date = [dateFormatter dateFromString:dateString];
NSString *year = [dateFormatter stringFromDate:date];
NSLog(@"%@",year);//null

それを修正する方法は?ありがとう。

4

2 に答える 2

0

2 つの日付形式が必要です。1 つ目は、に変換する文字列の形式と一致する必要がありますNSDate。2 番目の形式は、必要な形式を表す必要があります。NSDate2 番目を使用して、新しい文字列に変換します。

また、日付オブジェクトを作成してすぐに新しいオブジェクトに置き換えるのはなぜですか?

これを変える:

NSDate *date = [[NSDate alloc] init];
date = [dateFormatter dateFromString:dateString];

に:

NSDate *date = [dateFormatter dateFromString:dateString];

コードは次のようにする必要があります。

NSString *dateString = @"1339007317";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"???"]; // format that matches the dateString
NSDate *date = [dateFormatter dateFromString:dateString];
[dateFormatter setDateFormat:@"yyyy"]; // the desired new format
NSString *year = [dateFormatter stringFromDate:date];
NSLog(@"%@",year);
于 2013-04-27T00:13:26.073 に答える