Objective-c-dates-and-times

提供:Dev Guides
移動先:案内検索

Objective-Cの日付と時刻

NSDateおよびNSDateFormatterクラスは、日付と時刻の機能を提供します。

NSDateFormatterは、NSDateからNSStringへ、またはその逆への簡単な変換を可能にするヘルパークラスです。

NSDateをNSStringに変換し、NSDateに戻す簡単な例を以下に示します。

#import <Foundation/Foundation.h>

int main() {
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
   NSDate* date= [NSDate date];
   NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
   [dateFormatter setDateFormat:@"yyyy-MM-dd"];

   NSString *dateString = [dateFormatter stringFromDate:date];
   NSLog(@"Current date is %@",dateString);
   NSDate *newDate = [dateFormatter dateFromString:dateString];
   NSLog(@"NewDate: %@",newDate);

   [pool drain]
   return 0;
}

プログラムをコンパイルして実行すると、次の結果が得られます。

2013-09-29 14:48:13.445 Date and time[870] Current date is 2013-09-29
2013-09-29 14:48:13.447 Date and time[870] NewDate: 2013-09-28 18:30:00 +0000

上記のプログラムでわかるように、NSDateを使用して現在の時刻を取得します。

NSDateFormatterは、形式の変換を処理するクラスです。

日付形式は、使用可能なデータに基づいて変更できます。 たとえば、上記の例に時間を追加する場合、日付形式を@ "yyyy-MM-dd:hh:mm:ss"に変更できます