gpt4 book ai didi

ios - 查找两个时间值之间的差异iOS objective-c

转载 作者:行者123 更新时间:2023-12-01 18:05:54 25 4
gpt4 key购买 nike

我正在尝试减去两个不同的时间值

**目标:-**我想减去该值以获得我从服务器获得的两次时间之间的差

下面是我的方法

        self.start=[jsonDict valueForKey:@"start_time"];
self.end=[jsonDict valueForKey:@"end_time"];
self.datefj=[jsonDict valueForKey:@"date"];
NSLog(@"%@",self.start);
NSLog(@"%@",self.end);
NSLog(@"%@",self.datefj);
self.date1fj=[NSString stringWithFormat:@"%@ %@",self.datefj,self.start];
self.date2fj=[NSString stringWithFormat:@"%@ %@",self.datefj,self.end];
//NSTimeInterval secondsBetween = [_end timeIntervalSinceDate:_start];
//NSArray *hoursMins = [_end componentsSeparatedByString:@":"];
//NSInteger timeInMins = [hoursMins[0] intValue] * 60 + [hoursMins[1] intValue];
NSDateFormatter *df=[[NSDateFormatter alloc] init];
// Set the date format according to your needs
[df setDateFormat:@"dd/MM/YYYY hh:mm"]; //for 12 hour format
//[df setDateFormat:@"MM/dd/YYYY HH:mm "] // for 24 hour format

NSDate *date1 = [df dateFromString:_date1fj];
NSDate *date2 = [df dateFromString:_date2fj];
NSLog(@"%@",date1);
NSLog(@"%@",date2);
NSLog(@"%f is the time difference",[date2 timeIntervalSinceDate:date1]);

}

这是我从服务器获得的数据,我想要开始时间和结束时间之间的差异
2017-06-29 16:37:50.543 Barebones[4204:233648] requestReply cust category: {
date = "29-6-2017";
"end_time" = "17:45";
"market_crash" = true;
"start_time" = "14:28";
}

以下是我的nslog详细信息
2017-06-29 16:37:50.543 Barebones[4204:233648] true
2017-06-29 16:37:53.482 Barebones[4204:233648] 14:28
2017-06-29 16:37:53.483 Barebones[4204:233648] 17:45
2017-06-29 16:37:53.483 Barebones[4204:233648] 29-6-2017
2017-06-29 16:37:58.493 Barebones[4204:233648] (null)
2017-06-29 16:37:58.494 Barebones[4204:233648] (null)
2017-06-29 16:45:47.514 Barebones[4204:233648] 0.000000 is the time difference

提前致谢!!:)

最佳答案

问题出在您的日期格式化程序中。我像这样尝试过您的代码,对我来说效果很好。

NSString * start = @"14:28";
NSString * end = @"17:45";
NSString * datefj = @"29-6-2017";

NSString *date1fj =[NSString stringWithFormat:@"%@ %@",datefj,start];
NSString *date2fj =[NSString stringWithFormat:@"%@ %@",datefj,end];

NSDateFormatter *df=[[NSDateFormatter alloc] init];
// Set the date format according to your needs
//[df setDateFormat:@"dd-mm-yyyy hh:mm"]; //for 12 hour format
[df setDateFormat:@"dd-MM-YYYY HH:mm "]; // for 24 hour format

NSDate *date1 = [df dateFromString:date1fj];
NSDate *date2 = [df dateFromString:date2fj];
NSLog(@"%@",date1);
NSLog(@"%@",date2);
NSLog(@"%f is the time difference",[date2 timeIntervalSinceDate:date1]/60);

//编辑正确格式的时间
NSString *formattedTime = [self timeFormatted:[date2 timeIntervalSinceDate:date1]/60];

//创建一个新函数
- (NSString *)timeFormatted:(int)totalSeconds
{

int seconds = totalSeconds % 60;
int minutes = (totalSeconds / 60) % 60;
int hours = totalSeconds / 3600;

return [NSString stringWithFormat:@"%02d:%02d:%02d",hours, minutes, seconds];
}

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

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