私はこれを検索しており、それを見つけることはできませんでした。私は、NSDateを含むNSDictionaryにオブジェクトを持っています。現在、標準のNSDateオブジェクトはかなり長いです。私はユーザーをdd-MMM形式で表示したいと考えています。例えばのためにiOSの日付をdd-MMMに設定する
:元の日付は私がNSDateComponentsとNSDateFormatterを使用してみましたが、それは非常に仕事しませんでした日が23 Apr
として表示されたい2012-04-23 00:00:00 +0000
であってもよいです。おそらく、私は必要なフォーマットの正しい使い方を考え出していないでしょう。
NSLog(@"From Dictionary, Date = %@",[tmpDict objectForKey:@"eventDate"]);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss Z"];
NSString *dateString = [tmpDict objectForKey: @"eventDate"];
NSDate *date = [dateFormatter dateFromString: dateString];
NSLog(@"MY DATE: %@",date);
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
[dateFormatter2 setDateFormat:@"dd-MMM"];
NSString *formattedDateString = [dateFormatter2 stringFromDate:date];
NSLog(@"Formatted Date: %@",formattedDateString);
出力はFrom Dictionary, Date
のため2012年5月19日午前七時30分56秒とフォーマットされた日付とMY DATEの場合はnullです:
は、ここでより良い理解のためのコードです。そしてtmpDict
は私が使っている辞書オブジェクトです。
ご協力ありがとうございます。
私はあなたが提案したことを試してみましたが、それはまだ動作しませんでした。試したコードを反映するために質問を編集します。 – proctr
問題は文字列にある日付形式で、2012-04-23 00:00:00 +0000となっていますが、実際は2012-04-23 00:00:00となります。常に2つのうちの1つだけであることを確認し、それに応じてdateFormatter形式を調整する必要があります。 –