我試圖從現在開始到當天的特定時間(例如上午9:00)之間的時間(以秒爲單位),如果現在的時間超過了指定的時間在那一天,我想要從現在開始到第二天的時間。從現在開始在特定時間使用swift查找時間3
我的最終目標是在上午8:00到下午5:00的每個小時運行一個函數,而應用程序沒有打開/在後臺運行。如果有更好的方法來做到這一點,而不用間隔24小時的計時器,那麼我真的很感激一些建議。
我試圖從現在開始到當天的特定時間(例如上午9:00)之間的時間(以秒爲單位),如果現在的時間超過了指定的時間在那一天,我想要從現在開始到第二天的時間。從現在開始在特定時間使用swift查找時間3
我的最終目標是在上午8:00到下午5:00的每個小時運行一個函數,而應用程序沒有打開/在後臺運行。如果有更好的方法來做到這一點,而不用間隔24小時的計時器,那麼我真的很感激一些建議。
用於在當前時間添加一小時。使用下面延伸
extension Date {
func addHours(_ hours: Int) -> Date {
let seconds: TimeInterval = Double(hours) * 60 * 60
let newDate: Date = self.addingTimeInterval(seconds)
return newDate
}
}
調用這個函數爲Date().addHours(1)
爲了得到當前日期的具體時間
func getDateFromHour(hour: Int) -> Date {
let date = Date()
let calendar = Calendar.current
et componentsCurrent = calendar.dateComponents([.year, .month, .day], from: date)
var components = DateComponents()
components.hour = hour
components.minute = 0
components.second = 0
components.month = componentsCurrent.month
components.day = componentsCurrent.day
components.year = componentsCurrent.year
return calendar.date(from: components)!
}
注意:你應該使用24小時時鐘,同時傳遞參數小時 。
你到目前爲止嘗試過什麼?你讀過'NSDate' /'Date'文檔嗎? – Grimxn
你想做什麼?尋找時間間隔?或者每小時運行一次功能? –
我試圖每小時運行一個函數(設定小時之間),我試圖通過找到時間,直到這些小時之一,然後運行'Date()。addingTimeInterval(timeUntilXTime)'後面跟着一個Timer來解決這個問題。如果有更好的方法去做,我很樂意改變我的方法。 – Haris