将剩余时间减去两次-Swift

时间:2020-07-14 14:06:52

标签: swift

我正在尝试基于两次的差值来计算发送通知的剩余时间,下面的第一个变量的输出为:2020-07-14 13:31:00 +0000,我想减去Date()-这样。以下是我正在尝试的方法:

let prevMealEatenInDateFormat = self.myFormatters.convertStringToDate(inputDate: previousMeal.eaten!)
let newTime = Date() - prevMealEatenInDateFormat

但我收到此错误:Cannot convert value of type 'Date' to expected argument type 'TimeInterval' (aka 'Double')

这是怎么回事?我需要剩下几个小时的剩余时间

这是convertStringToDate的功能:

func convertStringToDate(inputDate: String) -> Date {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "d MMM y, hh:mm a"
        dateFormatter.amSymbol = "AM"
        dateFormatter.pmSymbol = "PM"
        let newDate = dateFormatter.date(from: inputDate)
        
        return newDate!
}

1 个答案:

答案 0 :(得分:0)

我通过以下实现解决了该问题:

let currentDate = Date()
let hourRemaining = currentDate.timeIntervalSince(prevMealEatenInDateFormat)