Question

Je veux être en mesure de convertir entre les calendriers grégorien et julien (note: non « date ordinale ») en utilisant NSCalendar sur l'iPhone. Comment puis-je sous-classe NSCalendar d'utiliser le calendrier julien? Je veux le faire sans égard pour 1582 ou 1752 ou d'une année donnée.

Était-ce utile?

La solution

Alors que vous pouvez certainement avoir un aller à, mais je soupçonne que NSCalendar est difficile à la sous-classe. Il est ponté sans frais, ce qui complique les choses; est enlacé avec NSLocale, ce qui complique les choses; il est initialisé avec des identificateurs plutôt que d'être sous-classé, ce qui complique les choses; et ne donne aucune indication sur les méthodes sont les primitives ... complique les choses ...

Avez-vous besoin de la sous-classe afin de brancher une architecture existante? Dans le cas contraire, il serait probablement plus facile de créer un objet à partir de zéro qui a une interface similaire. Vous pourrez peut-être utiliser un NSGregorianCalendar pour faire la plupart du travail pour vous et juste compensé la date des jours nécessaires avant de calculer les composants de date. Vous aurez besoin d'une logique spéciale pour 1700, 1800 et 1900 (et bien sûr 2100, etc.) depuis NSGregorianCalendar ne vous permet de créer des composants de date pour une journée de saut dans les années, mais qui est encore sans doute plus facile que de faire toute la composante date calculs à la main.

Juste curieux de ce que l'objectif d'un tel calendrier serait?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top