我有一个iPhone应用程序,显示本地商店营业时间的信息,以及当前时间是否开放。我目前在plist中存储如下数据:
<dict>
<key>sunday</key>
<string>11:00-13:00</string>
<key>monday</key>
<string>11:00-18:00</string>
<key>tuesday</key>
<string>09:00-23:00</string>
<key>wednesday</key>
<string>12:00-24:00</string>
<key>thursday</key>
<string>13:00-04:00</string>
</dict>
如图所示,我正在使用24小时制。此外,有些日子一直营业到第二天,因此在星期四04:00结束意味着它实际上在星期五凌晨4点关闭。
确定所选商店是打开还是关闭的最有效方法是什么?
答案 0 :(得分:0)
最好将时间存储为NSDates而不是字符串。然后你就可以做NSDate *now = [NSDate date]
并说出类似:if (now > openTime && now < close time){store.open = YES} else {store.open = NO};
答案 1 :(得分:0)
将开放日期保持为“0-11:00-open”,0-13:00-closed“,”1-11:00-open“,”1-18:00-closed“等。排序列表。在列表中查找当前日期/时间。检查相邻条目以查看是打开还是关闭。
如果您希望稍微更简单/更快的数字排序/比较,您可以将字符串缩减为简单数字(例如,011000,012001 ......)。
你必须在午夜时分(切换日#从2359切换到0000(不要使用2400))以及周六和周日之间要小心。
当然,进行“健全性检查”总是明智的 - 检查是否可以打开和关闭。