また、NSDateは以前書いた通り世界で一意の値であるグレゴリオ暦(世界標準時)を格納するので、NSStringで表示する際はローカル時刻に変換 する必要があります。
そこで、NSDateFormatterクラスを使えば、より簡単に書式指定を行うことができます。
// 現在日時を取得
NSDate* dt = [NSDate date];
// NSDateFormatterのインスタンス生成
NSDateFormatter* form = [[NSDateFormatter alloc] init];
// NSDateFormatterに書式指定を行う
[form setDateFormat:@"G yyyy/MM/dd(EEE) K:mm:ss"];
// 書式指定に従って文字出力
NSString* str = [form stringFromDate:dt];
NSLog(str);
// NSDateFormatterはallocで確保したので明示的に解放する
[form release];
strには”AD 2010/05/06(Thu) 10:07:50”と格納されます。ちゃんと曜日も取得できてますね。
書式指定できるものには、以下のようなものがあります。
| G | 時代(AD等) |
| yy | 年の下2桁 |
| yyyy | 年(4桁) |
| MM | 月(1〜12) |
| MMM | 月(Jan) |
| MMMM | 月(Janualy) |
| dd | 日(2桁) |
| d | 日(1〜2桁) |
| EEE | 曜日(Sun等) |
| EEEE | 曜日(Sunday等) |
| aa | AM/PM |
| H | 時(0〜23) |
| K | 時(0〜11) |
| m | 分(1〜2桁) |
| mm | 分(2桁) |
| s | 秒(1〜2桁) |
| ss | 秒(2桁) |
| S | ミリ秒 |
0 件のコメント:
コメントを投稿