我有兩個雙打,並需要查詢NSDate的時間間隔匹配兩個雙打。如何將Double轉換爲NSDate與時間匹配我的雙? :)如果有可能..轉換雙NS日期時間,用於查詢解析
編輯:對不起,我有點匆忙 - 我的道歉!我擁有的雙打代表了一天中的某個時間,如8.00或17.00 ..所以我需要將該Double轉換爲NSDate中的某個時間,如果這樣做有意義的話:)
我有兩個雙打,並需要查詢NSDate的時間間隔匹配兩個雙打。如何將Double轉換爲NSDate與時間匹配我的雙? :)如果有可能..轉換雙NS日期時間,用於查詢解析
編輯:對不起,我有點匆忙 - 我的道歉!我擁有的雙打代表了一天中的某個時間,如8.00或17.00 ..所以我需要將該Double轉換爲NSDate中的某個時間,如果這樣做有意義的話:)
簡單使用timeIntervalSince1970
並傳遞double值作爲參數。
let date = NSDate(timeIntervalSince1970: doubleValue)
這假定OP代表時間的值1970年1月1日以來的時間間隔。 – rmaddy
對不起,我的問題不太清楚。我需要當前日期的NSDate,時間匹配8.00(早上)或下午16.00的Double –
我從答案中找到了一些提示的解決方案。以下是我最終的結果,它的工作原理如下:
let date = NSDate()
let cal = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
let newDate = cal.startOfDayForDate(date)
let secondsSince1970ToYesterdayAt23 = newDate.timeIntervalSince1970
let secondsInOneHour = 3600.0
let secondsSince1970FromMidnight = secondsSince1970ToYesterdayAt23 + secondsInOneHour
let secondsFromMidnightToStartTime = (secondsInOneHour * (slider?.lowerValue)!) + secondsSince1970FromMidnight
let dateWithStartTime = NSDate(timeIntervalSince1970: secondsFromMidnightToStartTime)
let secondsFromMidnightToEndTime = (secondsInOneHour * (slider?.upperValue)!) + secondsSince1970FromMidnight
let dateWithEndTime = NSDate(timeIntervalSince1970: secondsFromMidnightToEndTime)
print("Start \(dateWithStartTime)") // Returning 2017-03-18 08:00:00 +0000
print("End: \(dateWithEndTime)") // Returning 2017-03-18 17:00:00 +0000
您需要提供更多詳細信息。你知道這些數字代表什麼嗎?你看過'NSDate'(或'Date')的文檔嗎? – rmaddy
@rmaddy - 感謝您的回覆!我已經更新了我的問題,也許它現在更有意義:)但我會看看文檔 - 不知道爲什麼我沒有想到這一點.. –