2011/12/13

Twitterのように経過時間を取得する

Twitterのように投稿時刻から現在までの経過時間を表示したい場合はNSDateのtimeIntervalSinceNowメソッドを使うとよい。NSTimeIntervalはdouble型である。

NSDate *start = [NSDate date];
NSTimeInterval timeInterval = [start timeIntervalSinceNow];
// 経過時間を秒数で表示。ミリセカンド単位まで測ってくれる模様。
NSLog(@"%f秒前", -timeInterval);
// 経過時間を単位時間数で表示。doubleからint型にしている。
NSLog(@"%i時間前", (int)-timeInterval/3600);