ios – 多个设备中[NSDate date]的结果不同

ios – 多个设备中[NSDate date]的结果不同,第1张

概述首先,我必须说我在日期和时间设置中设置了自动设置,并且每个设备的时区是相同的.因此,我使用[NSDate date]以毫秒为单位获取时间戳,然后编码为NSData并发送到另一台设备.接收器数据正在被解码并用新的[NSDate日期]减去.这样我就可以获得发送和接收消息所需的总时间.我被认为是因为当发送者是iPhone 4 iOS6而接收者是iPhone 5 iOS7时接收者比发送者有更早的时间戳.我 首先,我必须说我在日期和时间设置中设置了自动设置,并且每个设备的时区是相同的.因此,我使用[NSDate date]以毫秒为单位获取时间戳,然后编码为NSData并发送到另一台设备.接收器数据正在被解码并用新的[NSDate日期]减去.这样我就可以获得发送和接收消息所需的总时间.我被认为是因为当发送者是iPhone 4 iOS6而接收者是iPhone 5 iOS7时接收者比发送者有更早的时间戳.我不知道为什么?也许[NSData date]不是那种 *** 作最可靠的类?我使用GcdasyncUdpSocket发送/接收UDP.

代码发送者

NSData *data2 = [self createrandomNSData:8192];NSMutableData *dataToSend =[NSMutableData data];[dataToSend appendBytes:&tag length:sizeof(int)];long long currentTimeStamp = (long long)([[NSDate date] timeIntervalSince1970]*1000.0);[dataToSend appendBytes:&currentTimeStamp length:sizeof(long long)];[dataToSend appendData:data2];NSLog(@"%i || %lld || %lu",tag,currentTimeStamp,(unsigned long)[dataToSend length]);[_udpSocket sendData:dataToSend toHost:@"230.0.0.1" port:_port withTimeout:-1 tag:tag];tag++;

代码接收器

char* dataBytes = [data bytes];int inTag;long long inCurrentTimeStamp;[data getBytes:&inTag length:sizeof(int)];[data getBytes:&inCurrentTimeStamp range:NSMakeRange(sizeof(int),sizeof(long long))];long long currentTimeStamp = (long long)([[NSDate date] timeIntervalSince1970]*1000.0);long long timeStampDiff = currentTimeStamp - inCurrentTimeStamp;self.delay = timeStampDiff;NSLog(@"%i || %lld || %lu",inTag,timeStampDiff,(unsigned long)[data length]);
解决方法
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss"];[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIDentifIEr:@"en_US_POSIX"]];Nsstring *strSystemTime = [dateFormatter stringFromDate:[NSDate date]];

我遇到了同样的问题并通过设置NSLocale来解决它.我希望这个解决方案也适合你.

总结

以上是内存溢出为你收集整理的ios – 多个设备中[NSDate date]的结果不同全部内容,希望文章能够帮你解决ios – 多个设备中[NSDate date]的结果不同所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存