iphone - 查找当前时间是否在一个范围内

标签 iphone objective-c ios nsdate

如果日期在某个范围内,我可以找到如何获取,但我无法找到如何在特定时间创建日期。

查看 [NSDate date] 是否在时间范围内的最简单方法是什么?

我想显示如下个性化问候语:

12 pm - 4:59:9999 pm @"Good afternoon, foo"
5 pm - 11:59:9999 pm @"Good evening, foo"
12 am - 11:59:9999 am @"Good morning, foo"

最佳答案

是的,您可以使用 NSDateComponents它将以 24 小时格式返回小时。

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit fromDate:[NSDate date]];
NSInteger hour = [components hour];

if(hour >= 0 && hour < 12)
    NSLog(@"Good morning, foo");
else if(hour >= 12 && hour < 17)
    NSLog(@"Good afternoon, foo");
else if(hour >= 17)
    NSLog(@"Good evening, foo");

swift 3

let hour = Calendar.current.component(.hour, from: Date())

if hour >= 0 && hour < 12 {
    print("Good Morning")
} else if hour >= 12 && hour < 17 {
    print("Good Afternoon")
} else if hour >= 17 {
    print("Good Evening")
}

关于iphone - 查找当前时间是否在一个范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6945553/

相关文章:

iphone - 从音乐库中获取歌曲列表后如何播放音乐文件?

ios - 以编程方式调用 push segue 和 prepareforsegue 方法

iphone - iOS - QLPreviewController - 如何阻止 QuickLook 旋转?

iphone - 失去对 UITextView 的关注时隐藏键盘

ios - 如何设置按钮的标题颜色?

IOS 11.3 通用应用程序部署错误 : "Invalid Bundle. Your app supports Multitasking on iPad, so you must include the UILaunchStoryboardName"

ios - 如何制作这样的东西?

ios - uitableviewcell 顶部的灰色分隔线

ios - UINavigationController 始终全屏不调整大小

ios - 如何以编程方式创建带有动态选项卡的选项卡栏?底部黑屏问题