我怎样才能用当前时间计算一些位置的打开和关闭时间

How can I calculate some location Open and Close Time with Current Time

我想要一个餐厅应用程序并且我想改进我的功能。我的餐厅 营业时间 格式为 NSDate。我想简单地检查当前有哪些餐厅营业。我的应用程序应该询问 NSDate() 当前时间,并且应该检查打开和关闭时间。 If current Time <= Close Time & current Time >= Open Time 餐厅应该 营业 If current Time >= Close Time and & currentTime <= Open Time 餐厅应该关闭

这种情况的最佳方法是什么? 我应该按照我说的去做 If else 语句吗?

是的,使用 if-else 语句(有条件的)是一种很好的方法。这就是我的处理方式(openTime 是开放时间,closedTime 是关闭时间):

// Set up calendar and unit flags

let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)

let timeUnitFlags: NSCalendarUnit = [.CalendarUnitHour, .CalendarUnitMinute]

// Retrieve components

let openComponents = calendar.components(timeUnitFlags, fromDate: openTime)
let closedComponents = calendar.components(timeUnitFlags, fromDate: closedTime)
let currentComponents = calendar.components(timeUnitFlags, fromDate: NSDate())

// Convert components into minutes into the day

let openMinutes = (openComponents.hour * 60) + openComponents.minute
let closedMinutes = (closedComponents.hour * 60) + closedComponents.minute
let currentMinutes = (currentComponents.hour * 60) + currentComponents.minute

// Check if open or closed

if currentMinutes >= openMinutes || currentMinutes <= closedMinutes {
    // Open
} else {
    // Closed
}

但是,上面的代码没有解决午夜或其他日历后的关闭时间。