将CFAbsoluteTimes变为圆形日NSDates

时间:2013-03-25 00:42:00

标签: objective-c nsarray nsdate buckets

我有NSArrayCFAbsoluteTime个。 从最早到最晚排序,但如果不是,我可以对它们进行排序。

我需要做的是找到最小和最大日期(例如1月1日到1月5日),并创建一个显示每天之间的计数的文字化,例如:

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

这样的事情。将绝对时间转换为某种舍入NSDate的最简单方法是什么?中级表格对我来说并不重要。我只需要编写一个在给定日期时返回计数的函数。

1 个答案:

答案 0 :(得分:0)

使用NSDate代替CFAbsoluteTime,你可能会更幸福地在Cocoa中解决这个问题。

适用文件是Date and Time Programming Guide

您需要的一般方法是在NSCalendar内工作,其中包含有关特定时区的每月天数,每年月数,闰年数,DST更改的所有信息。将您的NSDate个实例转换为NSDateComponent,您就可以提取日期和月份数字,然后从那里进行文字化处理。

请记住,您编写的函数(在给定日期时返回计数)将隐式或显式地处理NSCalendar和NSTimeZone值。答案将根据年份(是闰年?间隔是否包含闰日)和区域设置/日期(我们现在是否在此位置观察夏令时?)。