Ios 进度条,显示持续时间占一段时间的百分比
我需要Swift 3中的一个算法,它将计算在它的周期内经过的时间百分比。 我将尝试在示例中说明这一点,因为很难用语言来解释 假设我们有: 开始时间-16:00 结束时间-18:00 如果当前时间为17:30,进度条应显示75%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
从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”,但即使您现在是一个稍微移动的目标,不管怎样,你必须转换成时间间隔,这样在没有负间隔的情况下,眼睛调试起来就容易多了。