2

私の iPhone アプリは、ウェブサイトから為替レートをダウンロードします。でレートが最後に更新された時刻もダウンロードしESTます。私のアプリでは、その時間を[NSDate date].

NSTimeInterval基本的に、差を計算するために使用して、ダウンロードされた時間を現在の EST と比較したいと考えています。

私はこのサイトを見て、ドキュメントを読みましたが、これを達成する方法がわかりません。私が理解できる限り、NSDateタイムゾーンなしです。ですGMT。だから私はそれESTをGMTに変換するか、日付をGMTに変換して2つを比較したい.

これは、ダウンロードしたデータを日付に変換する方法です。

NSDateComponents *dateComps = [[NSDateComponents alloc] init];
    [dateComps setHour:hour];
    [dateComps setMinute:minute];
    [dateComps setDay:day];
    [dateComps setMonth:month];
    [dateComps setYear:year];

    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

    self.lastUpdatedExchangeRateDate = [calendar dateFromComponents:dateComps];

これについての最善の方法についてのご意見をお待ちしております。

4

1 に答える 1

1

NSDateComponents'timeZoneも設定する必要があります。

dateComps.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"EST"];

を正しいタイムゾーンで作成することが重要NSDateです。これは、1 秒を表し、タイムゾーンを認識しないためです。

于 2013-07-09T04:29:42.387 に答える