libro
www.tuyano.com
初心者のためのObjective-Cプログラミング入門

NSDateと日時の扱い (1/6)

作成:2011-02-13 12:10
更新:2011-02-13 12:10

■NSDateの基本

日時の値を扱うために用意されているのが「NSDate」です。これは、以下のようにして簡単に現在の日時を示すインスタンスを作成することができます。
NSDate* 変数 = [NSDate date];
非常に単純ですね。これで、その時点の日時を示すNSDateインスタンスが得られます。そのままNSLogなどで出力すれば、その時点の日時を出力することができます。
NSDate* date = [NSDate date];
NSLog(@"%@",date);
ただし、これだと「現時点の日時」の値しか用意できません。指定した日時のインスタンスを作成したい、と思うこともあるでしょう。

こういう場合、一番簡単なのは、テキストを使って日時を用意し、それをもとにインスタンスを作成する方法でしょう。
[《NSDate*》 dateWithString:《NSString*》];
[《NSDate*》 dateWithNaturalLanguageString:《NSString*》];
dateWithString:は、例えば「2011-01-01 12:00:01 +0900」というような形式で日時を用意します。年月日・時分秒・時差といった情報をテキストで用意しているのですね。

dateWithNaturalLanguageString:は、もう少し柔軟な形で日時のテキストを用意できます。例えば「2011/1/1」とか、あるいは「2011年 1月 1日」といった、一般的なテキスト表現をもとにNSDateが作成できます。
NSDate* date = [NSDate dateWithNaturalLanguageString:
        @"2011年 1月 1日 12時"];
NSLog(@"%@",date);
例えば、このような具合ですね。日時の値は、すべての要素を記述する必要はありません。例えば、この例では「12時」までしか書いてありません。残る分秒は、ゼロで作成されます。年月日だけを用意したなら、その日の零時ちょうどを示すインスタンスが作成されるわけです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのObjective-Cプログラミング入門」に戻る