将新日历添加到iOS

时间:2013-09-15 19:13:55

标签: ios nsdate nscalendar

iOS提供了一组可在应用程序中使用的日历。这是他们的ID列表:

NSString * const NSGregorianCalendar;
NSString * const NSBuddhistCalendar;
NSString * const NSChineseCalendar;
NSString * const NSHebrewCalendar;
NSString * const NSIslamicCalendar;
NSString * const NSIslamicCivilCalendar;
NSString * const NSJapaneseCalendar;
NSString * const NSRepublicOfChinaCalendar;
NSString * const NSPersianCalendar;
NSString * const NSIndianCalendar;
NSString * const NSISO8601Calendar;

如果我想添加更多日历该怎么办?让我们说法国共和党人(http://en.m.wikipedia.org/wiki/French_Republican_Calendar)?

我完全理解我可以使用公式来转换日期,但有没有办法像标准日历一样创建自己的日历,例如:

NSDateFormatter *formatter = [NSDateFormatter new];
formatter.calendar = [[NSCalendar alloc] initWithCalendarIdentifier:@"french_republican"]];

1 个答案:

答案 0 :(得分:1)

正如您已经提到的显示NSLocale Calendar Keys,iOS中有一定数量的日历。您无法使用自定义标识符创建自己的标识符。

您可以做的是根据一些标准日历创建一些日历装饰器,并使用NSCalendar方法执行所有计算。