【发布时间】:2019-07-03 07:50:24
【问题描述】:
我得到两个这种格式的日期字符串,“08:00:00”来自服务器端作为开始槽或结束槽。我必须获取本地时区的时间,然后检查当前时间是否位于来自服务器的时间间隔之间。 但我无法进行比较。
func checkTime() -> Bool {
let dateFormatter: DateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
dateFormatter.timeZone = TimeZone(identifier: "PKT")
let startingSlot = self.selectedArea.startingSlot! //UTC
let endingSlot = self.selectedArea.endingSlot! //UTC
let date = Date().description(with: Locale.current)
let current = date.split(separator: " ")
let currentD:String = String(current[5])
let date1: Date = dateFormatter.date(from: startingSlot)!
let date2: Date = dateFormatter.date(from: endingSlot)!
let currentdate:Date = dateFormatter.date(from: currentD)!
print(date1)
print(date2)
print(current)
if(currentdate >= date1 && currentdate <= date2) {
return true
} else {
return false
}
}
如果当前日期时间在 date1 和 date2 之间,我希望得到 true。
【问题讨论】:
-
如果你
print(date1, date2, Date())那么你应该会看到问题。 -
@Sumyia,你能提供你从服务器接收到的日期字符串吗?
-
很可能与stackoverflow.com/q/47682631/1187415中的问题相同。
-
startingSlot 字符串? “09:00:00”一些结尾槽字符串? “03:00:00”一些