Tag: gmt

NSDate dateWithTimeIntervalSince1970不返回GMT / UTC时间

我尝试了一个实验,因为我需要能够在我正在工作的应用程序中生成一个unix时间戳(自1970年以来)。 NSLog(@"Getting timeIntervalSince1970"); double theLoggedInTokenTimestampDateEpochSeconds = [[NSDate date] timeIntervalSince1970]; 这应该已经在格林尼治标准时间(1970年1月1日以来的秒)内返回了纪元秒(自1970年以来)。 但是,在2011年8月15日星期一09:54:30进行实验时,返回1313427270.504315 在Mac OSterminal上用一个简单的perl单行testing,得到: perl -e 'print scalar(localtime(1313427270))' ,它返回星期一8月15日09:54:30 2011 … 这显然不是格林威治时间,当我在SF湾区,当地时区设置为“库比蒂诺”。 怎么回事,请问我该如何解决? 我需要让我的应用程序在通信时向服务器发送UTC时间,所以无论用户在什么时间时间戳都会在一个相同的有效时区内发送。 在我的应用程序的另一部分,当用户从服务器请求数据,它获取它以UTC发送 ​​- 将其转换为显示如下: NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setLocale:[NSLocale currentLocale]]; [dateFormatter setTimeZone:nil]; [dateFormatter setDateFormat:@"yyyyMMdd"]; NSDate *conversationDate = [NSDate dateWithTimeIntervalSince1970:[theConversationTimeStampString intValue]]; NSString *conversationDateString = [dateFormatter stringFromDate:conversationDate]; [dateFormatter release]; 而且这个工程很漂亮 – 在用户的时区和区域显示更正的时间…所以我知道正在完成传入的时间戳。 […]

ios-ntp框架同步问题

我使用ntp-ios框架从我的ipad应用程序从github下载获取GTM时间,通过使用下面的代码 [NetworkClock sharedNetworkClock]; // // gather up the ntp servers … [NSDate networkDate]; // This will give the network date and time regardless of device date 如果设备时间是错误的,那么我也正在得到正确的gmt时间。 但我的问题是,当应用程序进入后台,我改变了设备的设备时间。 那么之后,如果我再次通过点击它使应用程序活跃,那么它给错误的时间。 如果我退出应用程序并重新启动它,那么它就像预期的那样工作。 请build议如何解决这个问题。 提前致谢 。 。 。

在时区之间快速转换date

我有一个date存储在我的在线服务器数据库在GMT 。 我加载date并使用以下代码将其转换为用户的时区: if let messagedate = oneitem["timestamp"] as? String { let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" let date = dateFormatter.dateFromString(messagedate) let source_timezone = NSTimeZone(abbreviation: "GMT") let local_timezone = NSTimeZone.systemTimeZone() let source_EDT_offset = source_timezone?.secondsFromGMTForDate(date!) let destination_EDT_offset = local_timezone.secondsFromGMTForDate(date!) let time_interval : NSTimeInterval = Double(destination_EDT_offset – source_EDT_offset!) let final_date = NSDate(timeInterval: time_interval, sinceDate: date!) […]