私は2つのIntの差を計算し、時、分を示すように書式化する必要があります。私は最初のintの違いから部分的に離れて以下の関数を使うことができます。SwiftのIntとの時差を計算します
例:私は0811
の開始のInt、その後0912
の終わりINTを持っている場合、私は、私は91
を持つべき結果から12
を取る場合は差が101です。結果を使用して時刻に変換すると、1時間31分が返されます。これは正しいです。しかし、私は何とかそれをさらにチェーンの上に変換してから、時間を正しくフォーマットするためにそれを取り除く必要があります。これは101
が1時間1分になるはずです。
func calculateTimeDifference(start: Int, end: Int, longVersion: Bool) -> String {
let count = end - start
let total = minutesToHoursMinutes(minutes: count)
var formatted = ""
if total.hours != 0 {
formatted += "\(total.hours)"
let amount = total.hours > 1 ? " hours " : " hour "
formatted += amount
}
if total.leftMinutes != 0 {
formatted += "\(total.leftMinutes)"
let amount = total.leftMinutes > 1 ? " minutes " : " minute "
formatted += amount
}
return String(describing: formatted)
}
func minutesToHoursMinutes(minutes : Int) -> (hours : Int, leftMinutes : Int) {
return (minutes/60, (minutes % 60))
}
あなたの質問はとても混乱しています。 101分= 1時間41分。その後、あなたは何をしたいですか? –
何が問題なのですか? – TNguyen
私は2つのIntsの差を使用して、結果が100の倍数であれば、100を1時間とし、残りを分と仮定します。 – user7684436