Objective-c-dates-and-times

提供:Dev Guides
2020年6月23日 (火) 09:56時点におけるMaintenance script (トーク | 投稿記録)による版 (Imported from text file)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

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"に変更できます