gpt4 book ai didi

ios - 查找两个时间戳之间的差异 - iOS

转载 作者:行者123 更新时间:2023-12-03 05:51:19 26 4
gpt4 key购买 nike

我正在尝试使用 NSTimeInterval 来计算 iOS 应用程序中两个时间戳之间的差异。但是,当我尝试传递时间戳时,出现以下错误:

Bad receiver type 'double'

这是我的代码:

// Get the current date/time in timestamp format.
NSString *timestamp = [NSString stringWithFormat:@"%f", [[NSDate new] timeIntervalSince1970]];
double current = [timestamp doubleValue];

// Find difference between current timestamp and
// the timestamp returned in the JSON file.
NSTimeInterval difference = [current timeIntervalSinceDate:1296748524];

我认为 NSTimeInterval 只是 double 的另一种含义..不是吗?

请注意,此处仅使用“1296748524”作为测试。

我不明白我做错了什么。

谢谢您的宝贵时间:)

最佳答案

我认得那个时间戳!如果您要获取字符串形式的时间戳,然后将其转换回 double 型,则可以将其作为 double 型获取。

修复:

NSString *timestamp = [NSString stringWithFormat:@"%f", [[NSDate new] timeIntervalSince1970]];
double current = [timestamp doubleValue];
NSTimeInterval difference = [[NSDate dateWithTimeIntervalSince1970:current] timeIntervalSinceDate:[NSDate dateWithTimeIntervalSince1970:1296748524]];

NSLog(@"difference: %f", difference);

更好:

double currentt = [[NSDate new] timeIntervalSince1970];
NSTimeInterval differ= [[NSDate dateWithTimeIntervalSince1970:currentt] timeIntervalSinceDate:[NSDate dateWithTimeIntervalSince1970:1296748524]];
NSLog(@"differ: %f", differ);

但是您真正要做的是将日期转换为时间戳,将字符串转换为时间戳,将日期转换为时间戳,那么为什么不从一开始就使用它并使用:

最佳:

double timeStampFromJSON = 1296748524; // or whatever from your JSON
double dif = [[NSDate date] timeIntervalSince1970] - timeStampFromJSON;
NSLog(@"dif: %f", dif);

所有结果都相同。

关于ios - 查找两个时间戳之间的差异 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22360014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com