2

我希望能够在 iPhone 上使用 NSCalendar 在公历和儒略历之间进行转换(注意:不是“儒略日期”)。如何子类 NSCalendar 以使用儒略历?我想这样做而不考虑 1582 或 1752 或任何给定的年份。

4

1 回答 1

1

虽然您当然可以尝试一下,但我怀疑NSCalendar子类化很棘手。它是免费桥接的,这使事情变得复杂;与 NSLocale 纠缠在一起,使事情变得复杂;它是用标识符初始化而不是被子类化,这使事情变得复杂;并且没有给出关于哪些方法是它的原语的指导......这使事情变得复杂......

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

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

于 2009-08-26T13:47:57.863 回答