[Objective-C] 24時間書式でタイムスタンプ文字列を生成する

投稿者: | 2012/06/25

NSDateFormatter を使います。

ちなみに注意点が2つ。

  1. カレンダーに西暦を指定する。
  2. タイムロケールにシステムロケールを指定する。

上記を行わないと、年が和暦になったり、時がAM ⁄ PMになったりします。

// NSDateFormatter を用意
NSDateFormatter* df = [[NSDateFormatter alloc] init];
// カレンダーを西暦(グレゴリオ暦)で用意
NSCalendar* cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]];
// カレンダーをセット
[df setCalendar:cal];
// タイムロケールをシステムロケールでセット(24時間表示のため)
[df setLocale:[NSLocale systemLocale]];
// タイムスタンプ書式をセット
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
// 現在日時から文字列を生成
NSString* tsString = [df stringFromDate:[NSDate date]];
// ログに出力
NSLog(@"%@", tsString);

 


コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください