2016-03-28 12 views
1

Bir hizmetin açık olmasını (örneğin, geçerli saat hizmetin açılış saatleri içinde) sağlamak için ihtiyacım olan bir uygulama geliştiriyorum.24 saatlik saat ile açma ve kapama zamanları

24 saatlik bir saat kullanıyorum ve temel olarak (0-12) saat nedeniyle doğru çalışmasını sağlamak için mantığı yazmakta zorluk yaşıyorum. Benim şu anki çözümüm şu, ama bahsettiğim gibi çalışmıyor çünkü kapanış saati 5 (5am) ve geçerli saat 22 (10pm), 22> 5 = doğruysa, yanlış ve başarısız oluyor.

Sorum şu ki, 0-12 am saatlerini nasıl etkin bir şekilde kullanabilirim? Böyle

if (self.hour < start || self.hour >= end) 
    return false; 
else 
    return true; 

cevap

0

şey çalışmalıdır:

// get current hour 
let calendar = NSCalendar.currentCalendar() 
let now = NSDate() 
let dateComponents = calendar.components(.Hour, fromDate: now) 
let currentHour = dateComponents.hour 

// opening hours 
let startingHour = 22 
let endingHour = 6 

// check for different starting and ending hour 
if startingHour == endingHour { 
    print("no valid opening hours") 
    // return 
} 

// check if current hour is within opening hours 
if startingHour < endingHour { 
    // e.g. 7 - 15 
    if currentHour >= startingHour && currentHour < endingHour { 
     print("opened") 
    } else { 
     print("closed") 
    } 
} else { 
    // e.g. 22 - 6 
    if currentHour >= startingHour || currentHour < endingHour { 
     print("opened") 
    } else { 
     print("closed") 
    } 
} 
İlgili konular