0

デバイスの現在の (ローカル) 日付と時刻で日付と時刻を変換しているときに問題に直面しています。API から 2013-04-03 01:07:56 +0000 の形式で日付を取得しています。この日付をローカルの日付と時刻の形式に変換して表示したいと考えています。どうすればこれを達成できるか教えてください。

4

1 に答える 1

2

dateFormatter に timeZone を設定するだけです, このコードで十分です.

NSString *dateString = @"24 08 2011 09:45PM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MM yyyy hh:mma"];
NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"BST"];
[dateFormatter setTimeZone:sourceTimeZone];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];

dateFromString の日付は 24 08 2011 08:45PM(GMT) になります。次に、これを現地時間の文字列に変換するには、次のようにコーディングします。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone localTimeZone]];
[formatter setLocale:[NSLocale systemLocale]];

[dateFormatter setDateFormat:@"dd MM yyyy hh:mma"];
NSString *stringFromDAte = [dateFormatter stringFromDate:dateString];
于 2013-04-03T07:02:35.103 に答える