CRD*_*ave 18
试试这个
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:[NSDate date]];
NSInteger currentHour = [components hour];
NSInteger currentMinute = [components minute];
NSInteger currentSecond = [components second];
if (currentHour < 7 || (currentHour > 21 || currentHour == 21 && (currentMinute > 0 || currentSecond > 0))) {
// Do Something
}
Run Code Online (Sandbox Code Playgroud)
用你的时间替换7,21
我从如何比较时间得到这个
此解决方案适用于 swift 4
从系统获取当前时间,然后检查它是否存在该范围。在这种情况下,时间范围是上午 10:00 到下午 6:00
func CheckTimeExist()->Bool{
var timeExist:Bool
let calendar = Calendar.current
let startTimeComponent = DateComponents(calendar: calendar, hour:10)
let endTimeComponent = DateComponents(calendar: calendar, hour: 18, minute: 00)
let now = Date()
let startOfToday = calendar.startOfDay(for: now)
let startTime = calendar.date(byAdding: startTimeComponent, to:
startOfToday)!
let endTime = calendar.date(byAdding: endTimeComponent, to:
startOfToday)!
if startTime <= now && now <= endTime {
print("between 10 AM and 6:00 PM")
timeExist = true
} else {
print("not between 10 AM and 6:00 PM")
timeExist = false
}
return timeExist
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5587 次 |
| 最近记录: |