我想计算剩余时间。我有一个完成时间。如何计算现在和结束时间之间的剩余时间?
我需要类似的东西
let date = NSDate()
let formatter = NSDateFormatter()
formatter.timeStyle = .ShortStyle
var now = formatter.stringFromDate(date) //prints 12.21 AM
var finishTime = "13:30 PM"
var remaining = now - finishTime //I want it to print 01:09 as remaining time
答案 0 :(得分:6)
rhs
答案 1 :(得分:2)
正确且最终更简单的解决方案,并正确处理本地化和闰秒/天的事情,是使用NSDateComponentsFormatter
。
let formatter = DateComponentsFormatter()
formatter.zeroFormattingBehavior = .pad
formatter.allowedUnits = [.hour, .minute, .second]
print(formatter.string(from: 200.0)!)
输出“0:03:20”
这是this Objective C answer的Swift版本。
您可以在documentation中看到许多不同的选项,以防您想要更像“剩余约3秒”,缩写,更多单位,如年/月/天等。