[iOS開発 TIPS] NSDate を使って現在の日付を年・月・日・分・秒単位で取得してみる

2012/07/06
CATEGORY : objective-c , 天一以外
このエントリーをはてなブックマークに追加

みなさまおはこんばんちわ。@EijiShibutaniだよ。

最近赤毛にしたんだけど、この前テレビに出てたチェ・ホンマンの髪色とまったく同じで愕然としたよ。どんな罰ゲームだよ。チェ・ホンマンのバカ!!
(もし、チェ・ホンマン大好きな人がこのブログ読んでたら謝 r ………るかボケェェ!)

めっきり更新滞っておりましたが、自分忘備録も含めた久しぶりのiOS TIPSです。

NSDateを使って現在の日時を取得する方法は一般的なのですが、今回はそこからさらにつっこんで、年・月・日・分・秒と細かく取得する方法をご紹介しますよ。

とりあえず NSDate で現在の日時を取得してみる。

えっと説明めんどくさいんでこんな感じ。

- (void)viewDidLoad {
    [super viewDidLoad];
    NSDate *date = [NSDate date];
    NSLog(@"現在の日時 > %@",date);
}

でコンソール見てみると

お〜!バッチリだぜ〜!

とまぁここまでは当たり前。問題はここから。

取得したデータを年・月・日・分・秒単位に分けてみる

いつものように説明はしないよ。ざざっとこんな感じ。

- (void)viewDidLoad {
    [super viewDidLoad];
    NSDate *date = [NSDate date];
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *dateComps = [calendar components:NSYearCalendarUnit |
                                   NSMonthCalendarUnit  |
                                   NSDayCalendarUnit    |
                                   NSHourCalendarUnit   |
                                   NSMinuteCalendarUnit |
                                   NSSecondCalendarUnit
                                              fromDate:date];
    NSLog(@"現在は %d年 %02d月 %02d日 %02d時 %02d分 %02d秒",
    dateComps.year,
    dateComps.month,
    dateComps.day,
    dateComps.hour,
    dateComps.minute,
    dateComps.second);
}

でコンソールはと…

いぇ〜〜い!チェ・ホンマンもビックリだぜ!(チェ・ホンマンごるぁ〜!)

というわけで、これで現在の細かい時間取得が可能になりました。

これを応用すれば、例えば現在の""だけ取得して、ゲームなんかでよく見る"毎日ログインボーナス"なんてアクションも設定できたりします。

以上でおま。おまおま。

今日の一言

コメント
コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2013 THE AGE