Home > プログラム > NSDateの12時間設定時に時間取得がおかしくなる

NSDateの12時間設定時に時間取得がおかしくなる

2月 17th, 2009

表題の通り、24時間設定では問題なく出ていたのが、
12時間表記にすると正常に取れなくなるという問題が。

http://d.hatena.ne.jp/KishikawaKatsumi/20081121/1227275688

のサイト様によると、USタイムゾーンに変更してしまえばOKとのこと。
(というかそうしないとかなりおかしい取得になってしまう・・!)

具体的には以下のようにしました。

NSDate *now = [[NSDate date] retain];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@”US”] autorelease]];

[dateFormatter setDateFormat:@"yyyy"];
int year = [[dateFormatter stringFromDate:now] intValue];

[dateFormatter setDateFormat:@"MM"];
int month = [[dateFormatter stringFromDate:now] intValue];

[dateFormatter setDateFormat:@"dd"];
int day = [[dateFormatter stringFromDate:now] intValue];

[dateFormatter setDateFormat:@"HH"];
int hour = [[dateFormatter stringFromDate:now] intValue];

[dateFormatter setDateFormat:@"mm"];
int min = [[dateFormatter stringFromDate:now] intValue];

[dateFormatter setDateFormat:@"c"];
int week = [[dateFormatter stringFromDate:now] intValue];
week–;

kuni プログラム

  1. No comments yet.
  1. No trackbacks yet.