Utilisation recommandée pour Joda-Time DateMidnight

La javdoc pour LocalDate#toDateMidnight se lit comme suit:

Partir de v1.5, il vous est recommandé d'éviter DateMidnight et l'utilisation
toDateTimeAtStartOfDay() à la place en raison de l'exception détaillée
ci-dessous.

Cette méthode lève une exception si le fuseau horaire par défaut des commutateurs
à l'Heure d'été à minuit et ce LocalDate représente
ce tournant de la date. Le problème est qu'il n'existe pas à ce qu'
minuit à la date requise, et, comme telle, une exception est levée.

Le fait que minuit n'existe pas dans certaines zones de temps semble être une raison suffisante pour éviter l'utilisation de DateMidnight entièrement (en supposant que votre code n'est pas l'utilisation d'un fuseau horaire qui est connu pour ne pas avoir cette situation de l'heure d'été et ne sera jamais besoin de recourir à différents fuseaux horaires dans le futur).

Cependant, DateMidnight n'est pas obsolète et il n'est pas similaire recommandation ou d'alerte dans la javadoc de la DateMidnight classe elle-même. En outre, la DateMidnight constructeur accepte avec plaisir un instant et le temps de la zone tels que minuit n'existe pas sur le jour, plutôt que de lancer un IllegalArgumentException comme LocalDate#toDateMidnight. Le résultant DateMidnight se comporte comme un DateTime avec le temps au début de la journée.

Quand minuit n'existe pas sur un jour donné, pourquoi ne LocalDate#toDateMidnight lever une exception lors de la DateMidnight constructeur n'en a pas? Qu'est-ce que le recommandé en cas d'utilisation de DateMidnight le cas échéant?

  • Notez que le “minuit” liées à des classes et des méthodes ont en effet été déprécié dans une mise à jour ultérieure de Joda-Time 2.
InformationsquelleAutor oby1 | 2013-07-16