ios - 如何从目标时间中减去当前时间?

标签 ios swift

我想出了如何在“hh:mm:ss”(下面的代码)中显示实时当前时间。我希望标签显示到特定目标时间为止的剩余时间,例如倒计时。我希望它倒计时直到例如每天下午 3 点,然后重新开始。我知道我需要从当前时间减去我的目标时间,但我不知道该怎么做。

(我是编程新手)

class ViewController: UIViewController {

@IBOutlet weak var Label: UILabel!

var timer = Timer()

override func viewDidLoad() {
    super.viewDidLoad()

getCurrentTime()
    }
private func getCurrentTime() {
    timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector:#selector(self.currentTime) , userInfo: nil, repeats: true)
}

@objc func currentTime() {
    let formatter = DateFormatter()
    formatter.dateFormat = "hh:mm:ss"

    Label.text = formatter.string(from: Date())

}


}

最佳答案

使用 timeIntervalSince 查找两个日期之间的时间间隔。如下图

let secondsBetween: TimeInterval = targetDate.timeIntervalSince(currentDate)
self.counter = Int(secondsBetween)
func timerAction() {
        counter -= 1
        label.text = timeString(time: TimeInterval(counter))
}

关于ios - 如何从目标时间中减去当前时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58135985/

相关文章:

ios - iphone 和 ipad 纵向视口(viewport)

android - phonegap 开发者应用程序的行为与已安装的 apk 不同

iphone - 用于紧急响应的 iOS 应用程序 - 如何在没有密码的情况下保护数据?

ios - react-native 启动 setup_env.sh 的 EACCESS 错误

ios - 如何在不滚动的情况下选择 TableView 中的单元格?

objective-c - NSError * 与 NSError **

ios - 在 iOS 10 中使用新键盘点击声音的官方方式

ios - 从 BLE 获取字符串

ios - 如果未设置变量,则等待设置变量

iOS:如何在没有 someView.addConstraints 的情况下使用 constraintsWithVisualFormat?