2014-09-24 72 views
3

我想一些意見/與創建一個相當簡單的功能的幫助,這裏有要求:如何檢查的時間是白天/夜間目標C

我需要確定當前的時間是白天還是晚上(日期爲上午6點至下午6點)。例如這裏是一些僞代碼:

if(currentTime < 6pm && currentTime > 6am){ 
    return timeIsDay 
} 
else{ 
    return timeIsNight 
} 

這是在目標C的IOS應用和必須是IOS 8.0兼容。

+0

您需要'NSDate'格式化,也許到可能連接到服務器,檢查日落和日出時間 – Ed3121577 2014-09-24 04:55:39

+0

明確你有什麼,你需要什麼。你真的想在6點和6點檢查嗎?您的應用程序的目的是什麼您的日夜定義? – rmaddy 2014-09-24 04:56:47

+1

當他們試圖在北極和南極運行你的代碼時,你會怎麼做? – paxdiablo 2014-09-24 04:58:40

回答

7

試試這個

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"HH.mm"]; 
    NSString *strCurrentTime = [dateFormatter stringFromDate:[NSDate date]]; 

NSLog(@"Check float value: %.2f",[strCurrentTime floatValue]); 
    if ([strCurrentTime floatValue] >= 18.00 || [strCurrentTime floatValue] <= 6.00){ 
     NSLog(@"It's night time"); 
    }else{ 
     NSLog(@"It's day time"); 
    } 
+0

如果對'floatValue'的調用只是爲了將日期的格式設置爲'HH:mm',那麼它有什麼作用?看看冒號的字符串? – rmaddy 2014-09-24 05:13:30

+0

我同意@rmaddy我沒有看到格式化日期的一點,但是這正是我想要實現的。很棒的工作,很好很簡單。 – SJTriggs 2014-09-24 05:29:35

+0

@rmaddy我們都是錯誤的,經過測試,我發現設置日期的格式是必需的,如果你不這樣做,strCurrentTime將是空的,浮點值將始終爲0.然而,而不是格式設置爲「HH。毫米「,它只需要設置爲」HH「。 – SJTriggs 2014-09-24 06:10:12

相關問題