タイムスタンプが UTC であるサーバーからデータを取得するアプリがあります。私のアプリは、現在の現地時間に基づいて画面に表示する必要があります。私が直面している問題は次のとおりです
私がこれをしたら
// the Y M D is fine but time is -8 behind so showing 03:34 instead of 11:34.
NSDate *today = [[NSDate alloc] init];
だから私がこれをするとき
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(start <= %@) AND (room == %@) AND (end >= %@)", today, room, today];
今日、NSPredicate に挿入すると「2012-08-10 03:34:00」ですが、「2012-08-10 11:34:00」である必要があるため、正しい結果が得られません。
アプリはさまざまなタイムゾーンで使用される可能性があるため、時間に 8 時間を追加することはできません。私が持っている唯一のアイデアは、NSDateComponentsを使用してそれらの時間を加算/減算し、UTCから何時間遅れているかをデバイスのタイムゾーンに把握させることです。NSPredicate フェッチのために CoreData に何かを設定するだけで簡単な方法はありますか?