2016-05-27 1 views
1

Swiftにビルドしている店舗/レストランがあるかどうかを判断する必要のあるアプリがあります。私が管理しているデータベースを照会するので、オープン時間を設定することができます。現在、タイムスタンプとして設定されている各曜日のopenTime/closeTimeカラムがあります。例:MonOpen = 11:00、MonClose = 19:00。営業時間(Swift-iOS)でビジネスが開いているかどうかを判断する方法

営業所が現在開いているかどうかを判断するにはどうすればよいですか?私は何かを想像していますif currentTime > MonOpen & currentTime < MonClose {...

これはiOS Starbucksアプリの例です。あなたが場所に行くと、それぞれの場所は "22:00まで開く"または "23:00まで開く"と表示されます。

答えて

1

それは、ユーザーのシステムのタイムゾーンを使用するか、またはそれらは、アプリの設定で別のものを選択してみましょうか、タイムゾーンで遊んでの問題だ:

let tz = NSTimeZone.defaultTimeZone() 
let now = NSCalendar.currentCalendar().componentsInTimeZone(tz, fromDate: NSDate()) 

if now.weekDay == 2 && now.hour > MonOpen && now.hour < MonClose { 
    // The store is open 
} 
+0

素晴らしい働いたこと。私は 'NSTimeZone.setDefaultTimeZone(NSTimeZone(名前:" America/New_York ")!)'を使って、アプリケーションデリゲートのデフォルトのタイムゾーンを設定することに気づきました。 –

+0

@ CodeDifferent - 開始日または終了日に分が含まれる場合はどうなりますか? MonOpen = 11:30、MonClose = 19:30など。あなたの答えを更新できますか? –

+0

'MonOpen'と' MonClose'はどうやって保存しますか?小数点以下の桁数(11.5&19.5)?または文字列として? –

関連する問題