2011-10-06 143 views
-2

如何計算iPhone開發中的夜間時間間隔?如何計算午夜時間間隔?

我正在研究股票市場的應用程序,我需要計算市場關閉後的時間間隔。

假設股市在下午6:30後關閉,我需要時間間隔至12:00

+1

您的問題沒有多大意義 - 請擴展一點,並給出一些上下文。 –

+0

提供一個完整的示例:輸入和期望的輸出。 – zaph

回答

1

是的,你真的應該提供有關輸入數據的詳細信息。 因爲如果你有一個包含完整的日期和時間信息2個NSDate的值,你需要什麼比timeIntervalSinceDate

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"MM.dd.yyyy hh:mm a"];  
    NSDate * date1 = [dateFormatter dateFromString:@"01.11.2011 06:30 PM"]; 
    NSDate * date2 = [dateFormatter dateFromString:@"01.12.2011 12:00 PM"]; 
    NSTimeInterval interval = [date2 timeIntervalSinceDate:date1]; 

你會得到63000個S = 17.5小時

但它看起來像你有時間沒有日期信息。在這種情況下,你會得到錯誤的負值:

[dateFormatter setDateFormat:@"hh:mm a"]; 
NSDate * date1 = [dateFormatter dateFromString:@"06:30 PM"]; 
NSDate * date2 = [dateFormatter dateFromString:@"12:00 PM"]; 
NSTimeInterval interval = [date2 timeIntervalSinceDate:date1]; 

結果爲-23400 S = -6.5^h

因此,在這種情況下,你應該糾正的結果,因爲你知道第二個日期是午夜後:

NSTimeInterval rightInterval = 24*3600 + [date2 timeIntervalSinceDate:date1];