sos の 作業メモ

プログラミングや英会話学習、マイルや旅行、日常生活など。最近はWebFormなASP.NETのお守りがお仕事です。

日々の生活にhappyをプラスする|ハピタス Gポイント

NSDateメモ

JavaのDateと似たようなもので、ローカル日時の表示や差の計算は、 Formatter等がもっているTimeZoneに従って行われる。

あまり深く考え過ぎず、格納されてる値はGMTかUTC標準のミリ秒とだけ認識しておく方が良さげ。

現在の日時のオブジェクトを取得するなら

[NSDate date]

UNIXTIMEを取得するなら

NSDate* curdate = [NSDate date];
NSTimeInterval value = [curdate timeIntervalSince1970]; // 小数以下がミリ秒のdouble

書式を指定して文字列に変換したり、書式化された文字列からNSDateのインスタンスを作るにはNSDateFormatterを使う。

NSDateFormatter* fmt = [[NSDateFormatter alloc] init];
[fmt setDateFormat:@"yyyy/MM/dd HH:mm:dd.sss"];
NSString* strdate = [fmt stringFromDate:curdate];

LocaleやTimeZoneを指定したりもできるので、NSDateFormatterはかなり便利。