2017-02-10 18 views
0

我試圖從現在開始到當天的特定時間(例如上午9:00)之間的時間(以秒爲單位),如果現在的時間超過了指定的時間在那一天,我想要從現在開始到第二天的時間。從現在開始在特定時間使用swift查找時間3

我的最終目標是在上午8:00到下午5:00的每個小時運行一個函數,而應用程序沒有打開/在後臺運行。如果有更好的方法來做到這一點,而不用間隔24小時的計時器,那麼我真的很感激一些建議。

+1

你到目前爲止嘗試過什麼?你讀過'NSDate' /'Date'文檔嗎? – Grimxn

+0

你想做什麼?尋找時間間隔?或者每小時運行一次功能? –

+0

我試圖每小時運行一個函數(設定小時之間),我試圖通過找到時間,直到這些小時之一,然後運行'Date()。addingTimeInterval(timeUntilXTime)'後面跟着一個Timer來解決這個問題。如果有更好的方法去做,我很樂意改變我的方法。 – Haris

回答

0

用於在當前時間添加一小時。使用下面延伸

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小時時鐘,同時傳遞參數小時

+0

但是我怎麼會在特定的時間調用這個函數。例如12:00 PM – Haris

+0

我可以使用它來使我的程序現在可以工作。謝謝! – Haris

+0

很高興我可以幫助:) –

相關問題