Ios 简单开放时间

Ios 简单开放时间,ios,time,Ios,Time,我正在开发一个小餐馆的应用程序,希望有一个包括营业时间的标签 NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:[NSDate date]]; NSInteger currentHour = [components hour]; NSInteger cu

我正在开发一个小餐馆的应用程序,希望有一个包括营业时间的标签

  NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:[NSDate date]];
NSInteger currentHour = [components hour];
NSInteger currentMinute = [components minute];
NSInteger currentSecond = [components second];

NSLog(@"%d",currentHour);
if (currentHour < 09 || (currentHour > 21 || (currentHour == 21 && (currentMinute > 0 || currentSecond > 0)))) {
    // Do Something
    NSLog(@"Open");
}
else
{
    NSLog(@"not open");
}
首先,我想简单地使用interface builder创建的标签显示开放时间。但是,我想制作一个标签和图标,根据营业时间以编程方式检查餐厅当前是否营业,然后显示一个图标并更改标签的文本


如何开始?

使用NSDate将日期格式设置为hh:mm,并将其与您的营业时间进行比较

  NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:[NSDate date]];
NSInteger currentHour = [components hour];
NSInteger currentMinute = [components minute];
NSInteger currentSecond = [components second];

NSLog(@"%d",currentHour);
if (currentHour < 09 || (currentHour > 21 || (currentHour == 21 && (currentMinute > 0 || currentSecond > 0)))) {
    // Do Something
    NSLog(@"Open");
}
else
{
    NSLog(@"not open");
}
NSDateComponents*components=[[NSCalendar currentCalendar]components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:[NSDate date]];
NSInteger currentHour=[组件小时];
NSInteger currentMinute=[组件分钟];
NSInteger currentSecond=[组件秒];
NSLog(@“%d”,当前小时);
如果(当前小时<09 | | |(当前小时>21 | | |(当前小时==21&&(当前分钟>0 | |当前秒>0))){
//做点什么
NSLog(@“打开”);
}
其他的
{
NSLog(@“未打开”);
}

您是否有一些伪代码或如何实现的想法?你看过
NSDate
的文档了吗?好的,我知道了,但是你会怎么比较呢?我是否应该创建一个单独的字符串,其中包含HH:mm格式的开放时间,然后如果currentTime>timeMonday。。。。。然后。。。。或者你能给我一个提示吗?:)用你的营业时间代替09,用下班时间代替21祝你好运
09
;-)非常感谢;)我知道数字应该没有零:)