たとえば、真夜中までに何時間残ったかなどを数えたいと思います。カウントダウンタイマーの作成に関するチュートリアルがたくさん見つかりましたが、左の時間を計算するためのものは見つかりませんでした。 アイデアはどうすればいいですか?スウィフトでの残り時間の計算
ありがとうございます!
たとえば、真夜中までに何時間残ったかなどを数えたいと思います。カウントダウンタイマーの作成に関するチュートリアルがたくさん見つかりましたが、左の時間を計算するためのものは見つかりませんでした。 アイデアはどうすればいいですか?スウィフトでの残り時間の計算
ありがとうございます!
import Foundation
let calendar = NSCalendar.currentCalendar()
let noonToday = calendar.dateBySettingHour(12, minute: 0, second: 0, ofDate: NSDate(), options: [])!
let noonishTomorow = calendar.dateByAddingUnit(.Day, value: 1, toDate: noonToday, options: [])!
let midnight = calendar.startOfDayForDate(noonishTomorow)
let components = calendar.components([.Hour, .Minute], fromDate: NSDate(), toDate: midnight, options: [])
let hoursUntilMidnight = components.hour
let minutesUntilMidnight = components.minute
あなたは、それは常に私が上そうであるように、Appleは常に、代わりに正午での作業をお勧め理由です...など、時にはそれが二回存在する、存在しないため、「深夜」には本当に注意する必要があります。
明示的に時間を深夜に設定してから引き算するように指示するANYの答えは避けてください。あなたはちょうど時間を言ったが、あなたがそれをする方法を見なければならない場合に備えて、私はあなたに分を与えた。
簡単なソリューション:
let now = NSCalendar.currentCalendar().componentsInTimeZone(NSTimeZone.defaultTimeZone(), fromDate: NSDate())
let hoursTillMidnight = 24 - now.hour
print(hoursTillMidnight)
これは分のようなアカウントのものになりません。午後1時01分と午後1時59分は深夜まで11時間です。あなたが望むなら、時間を上下に丸めることができます。
OS Xを使用している場合は、 'Foundation'インポートがあります。iOSを使用している場合は、既にUIKitを含むようにその行をオフにしてください。 – Gargoyle