创建新的NSCalendar日历

时间:2009-08-26 12:25:27

标签: cocoa gregorian-calendar nscalendar

我希望能够在iPhone上使用NSCalendar在Gregorian和Julian日历之间进行转换(注意:不是“朱利安日期”)。如何将NSCalendar子类化为使用Julian日历?我想这样做而不考虑1582年或1752年或任何一年。

1 个答案:

答案 0 :(得分:1)

虽然你当然可以参与其中,但我怀疑NSCalendar对于子类来说很棘手。这是免费的桥接,这使事情复杂化;与NSLocale缠绕在一起,使事情复杂化;它用标识符初始化而不是子类化,这使事情复杂化;并且没有提供关于哪些方法是其基本原理的指导......使......复杂化......

您是否需要子类才能插入现有架构?如果没有,从头开始创建具有类似接口的对象可能是最容易的。您可以使用NSGregorianCalendar为您完成大部分工作,并在计算日期组件之前将日期偏移所需的天数。您需要1700,1800和1900(当然还有2100等)的特殊逻辑,因为NSGregorianCalendar不允许您在这些年中为闰日创建日期组件,但这仍然可能比执行更容易所有日期组件的手工计算。

只是好奇这样一个日历的目标是什么?