Comment faire pour arrondir DateTime de Joda bibliothèque la plus proche de X minutes?
Comment faire pour arrondir DateTime
de Joda
bibliothèque la plus proche de la X
minutes ?
Par exemple:
X = 10 minutes Le 27 juin, 11:32 -> le 27 Juin, 11:30 Le 27 juin, 11:33 -> le 27 Juin, 11:30 Le 27 juin, 11:34 -> le 27 Juin, 11:30 Le 27 juin, 11:35 -> le 27 Juin, 11:40 Le 27 juin, 11:36 -> le 27 Juin, 11:40 Le 27 juin, 11:37 -> le 27 Juin, 11:40
- Est votre X va toujours être un facteur de 60?
- Oui.
X
est en fait une fraction d'heure. - À partir de l'heure, alors?
Vous devez vous connecter pour publier un commentaire.
Accepté la réponse n'est pas de gérer correctement les datetimes qui ont secondes ou millisecondes ensemble. Pour être complet, voici une version qui n'gérer cela correctement:
À l'aide de pure DateTime (Joda) Bibliothèque Java:
Une fois, j'ai piraté cette Méthode pour faire quelque chose comme ça. Il n'est pas optimisé en aucune façon, mais il fait ce que je voulais à l'époque. N'a jamais fait dans n'importe quel environnement de production, et je ne peux pas vous dire quelque chose à propos de la performance.
Voici une autre approche qui utilise l'arithmétique sur Unix temps complet:
(Mise en œuvre en Scala pour plus de clarté.)
Exemple d'utilisation:
Lorsque vous voulez arrondir Joda DateTime la meilleure solution à mon avis est d'utiliser le haut-
roundHalfCeilingCopy
etroundHalfFloorCopy
méthodes:Veuillez noter que
roundHalfCeilingCopy
de favoriser le plafond si à mi-chemin. Vous pouvez utiliserroundHalfFloorCopy
afin de favoriser l'étage dans le cas où il est à mi-chemin.