Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 进度条,显示持续时间占一段时间的百分比_Ios_Swift - Fatal编程技术网

Ios 进度条,显示持续时间占一段时间的百分比

Ios 进度条,显示持续时间占一段时间的百分比,ios,swift,Ios,Swift,我需要Swift 3中的一个算法,它将计算在它的周期内经过的时间百分比。 我将尝试在示例中说明这一点,因为很难用语言来解释 假设我们有: 开始时间-16:00 结束时间-18:00 如果当前时间为17:30,进度条应显示75% 从1970年开始,将你的三次时间间隔转换为NSTimeInterval,然后(当前-开始)/(结束-开始)这是我在操场上写的一个(非常)快速的模型 import UIKit let ms1: Double = 1490000000 let ms2: Double = 1

我需要Swift 3中的一个算法,它将计算在它的周期内经过的时间百分比。 我将尝试在示例中说明这一点,因为很难用语言来解释

假设我们有:

开始时间-16:00 结束时间-18:00

如果当前时间为17:30,进度条应显示75%


从1970年开始,将你的三次时间间隔转换为NSTimeInterval,然后(当前-开始)/(结束-开始)

这是我在操场上写的一个(非常)快速的模型

import UIKit

let ms1: Double = 1490000000
let ms2: Double = 1560000000

let date1: Date = Date(timeIntervalSince1970: ms1)
let date2: Date = Date(timeIntervalSince1970: ms2)
let now: Date = Date(timeIntervalSinceNow: 0)

let percentage = (now.timeIntervalSince1970 - date1.timeIntervalSince1970) * 100 / (date2.timeIntervalSince1970 - date1.timeIntervalSince1970)

18.00-16.00=100%,所以18.00-17.30=75%这是一个简单的数学:以分钟为单位的时差是100%。在你的例子中,120分钟是100%,90分钟是75%。好的,谢谢你的算法,但现在我如何在swift 3中实现它?@xbomber360这是一个非常广泛的问题,我们不知道你的情况和确切用法。没有源代码或我们可以基于的任何东西。好的,我会在官方swift文档中找到更多信息。谢谢你为什么?保存开始日期并仅获取timeIntervalSinceNow(超过开始日期的结果将为负数)或date()。timeIntervalSince(startDate)(超过开始日期的结果将为正数)的前端是什么?您当然可以使用“now”,但即使您现在是一个稍微移动的目标,不管怎样,你必须转换成时间间隔,这样在没有负间隔的情况下,眼睛调试起来就容易多了。