2013-07-09 66 views
2

我的iPhone應用程序從網站下載匯率。它還會下載價格上次更新時間爲EST。在我的應用程序中,我想將該時間與[NSDate date]進行比較。比較NSDate從互聯網上下載的日期

基本上,我想用NSTimeInterval來比較下載時間與當前EST的差值。

我已瀏覽本網站並閱讀文檔,並且不確定如何實現此目的。據我所知,NSDate沒有時區。它是GMT。所以我想將其轉換爲EST或將我的日期轉換爲GMT並比較兩者。

這是我所下載的數據轉換爲日期:

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]; 

我很欣賞你的去了解這一點的最好方式輸入。

回答

1

應設置NSDateComponentstimeZone太:

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

創建NSDate用正確的時區是很重要的,因爲它代表在第二時間,並且沒有時區的意識。

+0

哇。我沒有意識到這會很簡單,但我只需要在接收時設置時區即可。現在我想到了它是有道理的。感謝您指點我正確的方向。只有方法調用是[NSTimeZone timeZoneWithAbbreviation:@「EST」];我爲你改變了它。 – Jamie