2013-03-25 17 views
0

我有一個NSArrayCFAbsoluteTime s。他們應該從最早到最新排序,但如果沒有,我可以排序他們。Bucketize CFAbsoluteTimes into round day NSDates

我需要做的是找到最小和最大日期(例如一月一日至一月五日),並創建一個桶化,顯示了與每一天的計數,例如:

Jan 1 - 1 
Jan 2 - 0 
Jan 3 - 4 
Jan 4 - 0 
Jan 5 - 3 

類似的東西。將絕對時間變成我可以計算的某種圓形NSDate的最簡單方法是什麼?中級形式對我來說並不重要。我只需要編寫一個函數,在給定日期時返回一個計數。

回答

0

對於這個問題,你可能會更加高興地在Cocoa工作,使用NSDate而不是CFAbsoluteTime。

適用文件爲Date and Time Programming Guide

您需要的一般方法是在NSCalendar之內工作,它封裝了關於每個月的每天,每年的月份,閏年,DST更改以及所有特定時區的所有信息。將您的NSDate實例轉換爲NSDateComponent,您可以提取日期和月份數字,然後從那裏取得數據。

請記住,您編寫的函數(在給定日期時返回一個計數)將隱式或顯式地處理NSCalendar和NSTimeZone值。答案會因年而異(是閏年嗎?間隔是否包括閏日)和地區/日期(我們現在是否在此位置觀察夏令時?)。