我創建了一個函式,讓您知道當前時間是白天還是晚上。問題是即使在日落之后,應用程式告訴我它仍然是白天。所以我認為IF條件不正確。你能幫我找到解決辦法嗎?該應用程式使用用戶的確切日落和日出時間。您必須將它們與當前時間進行比較。謝謝你
func actualTime(sunrise: Date, sunset: Date) {
let date = Date()
if (date < sunrise && date > sunset) {
let nightTime = GrowingNotificationBanner(
title: "Fuel Reserve AI: NIGHT-TIME".localised(),
subtitle: "PlaneCalc applies nighttime fuel regulations".localised(),
style: .warning
)
hapticWarning()
nightTime.show()
}
else {
let dayTime = GrowingNotificationBanner(
title: "Fuel Reserve AI: DAY-TIME".localised(),
subtitle: "PlaneCalc applies daytime fuel regulations".localised(),
style: .success
)
dayTime.show()
}
}
uj5u.com熱心網友回復:
您的 if 條件由于午夜而失敗,例如午夜之前日落之后的時間不是日出之前。所以你需要在比較中包括午夜
檢查現在是否在午夜和日出之間或日落之后以識別夜間,否則是白天
func actualTime(sunrise: Date, sunset: Date) {
let date = Date()
let previousMidnight = Calendar.current.startOfDay(for: date)
if date >= previousMidnight && date < sunrise ||
date > sunset {
print("It's night")
}
else {
print("It's day")
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/496834.html
