2

我的 iPhone 应用程序从网站下载汇率。它还会下载汇率最后更新的时间EST。在我的应用程序中,我想将该时间与[NSDate date].

基本上,我想将下载时间与当前 EST 进行比较,NSTimeInterval以计算差异。

我查看了这个网站并通读了文档,但不确定如何实现这一点。据我了解,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];

感谢您就解决此问题的最佳方式提出的意见。

4

1 回答 1

1

你也应该设置NSDateComponents' timeZone

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

使用正确的时区创建时间很重要NSDate,因为它代表时间的一秒,并且不知道时区。

于 2013-07-09T04:29:42.387 回答