NSDateFormatter *変数 = [NSDateFormatter alloc];こうして用意されたインスタンスを初期化します。これは、ロケール情報(国別情報)に関するNSLocaleというものを用意するやり方と、直接フォーマットのためのテキストを用意して指定をするやり方などがあります。
NSDateFormatter *変数 = [《NSDateFormatter*》これで、引数に指定した形式でフォーマットすることができるようになります。allowNaturalLanguage:は自然言語的な表現を許可するかどうかで、これはYESにしておきましょう。こうしてフォーマットしたものは、「stringFromDate:」というメソッドでテキストを取り出すことができます。
initWithDateFormat:《NSString*》
allowNaturalLanguage:《BOOL》];
NSString* 変数 = [《NSDateFormatter*》 stringFromDate:《NSDate*》];これで、指定した形式でフォーマットされた日時のテキストを取り出すことができます。例えば、以下のような形で利用するわけですね。
NSDate* date = [NSDate date];これは、<年><月><日>というような形式で日付を出力します。initWithDateFormat:@"<%Y><%m><%d>" というように引数が指定されていますね? この%Y、%m、%dというところに、それぞれ年月日の値が嵌めこまれてフォーマットされたわけです。initWithDateFormat:を利用するためには、フォーマットで利用出来る記号類を理解しておく必要があるでしょう。以下にざっと整理しておきましょう。
NSDateFormatter* fmt = [[NSDateFormatter alloc]
initWithDateFormat:@"<%Y><%m><%d>"
allowNaturalLanguage:YES];
NSLog(@"%@",[fmt stringFromDate:date]);
%y 年(2桁表記)
%Y 年(4桁表記)
%m 月(2桁表記)
%d 日
%H 時(24時間制の値)
%M 分
%S 秒
%F ミリ秒
%K 時間(12時間制)
%j 1年の経過日数
%a 曜日(省略形)
%A 曜日(フル表記)
%b 月の名前(省略形)
%B 月の名前(フル表記)
%Z タイムゾーン
%z 時差(GMTとの差)
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※現在の日付を表示する例 #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSDate* date = [NSDate date]; NSDateFormatter* fmt = [[NSDateFormatter alloc] initWithDateFormat:@"<%Y><%m><%d>" allowNaturalLanguage:YES]; NSLog(@"%@",[fmt stringFromDate:date]); } return 0; }
<< 前へ | 次へ >> |