OGeek|极客世界-中国程序员成长平台

标题: iphone - 比较 NSDate 与从 Internet 下载的日期 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:24
标题: iphone - 比较 NSDate 与从 Internet 下载的日期

我的 iPhone 应用从网站下载汇率。它还会下载 EST 中上次更新费率的时间。在我的应用中,我想将该时间与 [NSDate date] 进行比较。

基本上,我想使用 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];

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



Best Answer-推荐答案


你也应该设置 NSDateComponents' timeZone:

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

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

关于iphone - 比较 NSDate 与从 Internet 下载的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17539839/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4