J'écris une partie de la logique qui nécessite de traiter les dates nulles comme signifiant pour toujours dans le futur (la date en question est une date d'expiration, qui peut ou non exister). Au lieu de mettre en place des cas spéciaux pour une date nulle dans tout le code, je veux simplement convertir null en la date maximale possible. Je ne vois pas de moyen évident d'obtenir une telle valeur sans coder en dur. Quelle est la meilleure façon d'obtenir la valeur maximale de l'implémentation de la date utilisée ?
Juste pour me faire l'avocat du diable... cette solution fait toujours une supposition sur l'implémentation de l'objet Date. Que se passe-t-il si mon code est compilé en java version 9 dans un futur lointain, que Date est mis à jour pour pouvoir représenter l'année quattuordecillion, mais que le constructeur qui prend un long est limité à la plage de date originale de 64 bits...
2 votes
Pour Joda-Time, voir cette question similaire .
0 votes
Il n'y a pas de bonne réponse à cette question car (a) les valeurs maximales et (b) la granularité des valeurs de date-heure varient selon les langages de programmation, les bibliothèques, les bases de données, etc. Je suggère de choisir arbitrairement une valeur codée en dur suffisamment éloignée pour être sûr qu'elle survivra à votre application, mais pas trop éloignée pour ne pas dépasser les limites d'un composant. Quelque chose comme
2666-01-01T00:00:00.0Z
.