我有NSArray
个CFAbsoluteTime
个。 应从最早到最晚排序,但如果不是,我可以对它们进行排序。
我需要做的是找到最小和最大日期(例如1月1日到1月5日),并创建一个显示每天之间的计数的文字化,例如:
Jan 1 - 1
Jan 2 - 0
Jan 3 - 4
Jan 4 - 0
Jan 5 - 3
这样的事情。将绝对时间转换为某种舍入NSDate
的最简单方法是什么?中级表格对我来说并不重要。我只需要编写一个在给定日期时返回计数的函数。
答案 0 :(得分:0)
使用NSDate代替CFAbsoluteTime,你可能会更幸福地在Cocoa中解决这个问题。
适用文件是Date and Time Programming Guide。
您需要的一般方法是在NSCalendar
内工作,其中包含有关特定时区的每月天数,每年月数,闰年数,DST更改的所有信息。将您的NSDate
个实例转换为NSDateComponent
,您就可以提取日期和月份数字,然后从那里进行文字化处理。
请记住,您编写的函数(在给定日期时返回计数)将隐式或显式地处理NSCalendar和NSTimeZone值。答案将根据年份(是闰年?间隔是否包含闰日)和区域设置/日期(我们现在是否在此位置观察夏令时?)。