Comment obtenir le dimanche passé et le dimanche prochain à Java?
J'ai demandé à Comment détecter si une date est dans ce ou la semaine prochaine en Java? mais les réponses ont été source de confusion, donc maintenant je pense que si je peux trouver le passé dimanche et le dimanche, toute la journée entre les deux est cette semaine, et n'importe quel jour entre le dimanche et le dimanche après c'est la semaine prochaine, suis-je la corriger ?
Donc ma nouvelle question est : Comment obtenir le passé dimanche et le dimanche en Java ?
source d'informationauteur Frank
Vous devez vous connecter pour publier un commentaire.
Je pensais ajouter un Java 8 solution pour la postérité.
Cette approche fonctionne aussi pour d'autres temporelle des classes comme
ZonedDateTime
. Comme l'a écrit, il suppose que l'électricité statique importations:Comment à ce sujet :
Le résultat :
Toute la journée entre les deux premiers est cette semaine, rien entre les deux dernières semaine prochaine.
Sans l'aide d'un mieux de l'heure/date du paquet...
Si, aujourd'hui, c'est dimanche, il est considéré comme le début de la période de temps. Si vous voulez une période de cette semaine et la semaine prochaine (comme les sons de votre question), vous pouvez substituer 14 au lieu de 7 à la fin.ajouter (...). Les temps sont mis à minuit pour la comparaison d'un autre objet tombant entre le début et la fin.
Tout d'abord, ne pas utiliser de la Date/Heure forfait à partir de Java. Il est un bien meilleur package utilitaire appelé Joda-Time - télécharger et à utiliser.
Pour déterminer si votre temps est au cours de cette semaine, la semaine dernière, ou de toute semaine à tous, faites ceci:
Il y a plusieurs cool façons dont vous pouvez créer deux dos à dos semaines. Vous pouvez définir une Durée d'une semaine, retrouvez l'heure de début de la première semaine, et il suffit de créer deux Intervalles basés sur l'heure de début. Se sentir libre de trouver de toute autre manière qui fonctionne pour vous - le paquet a de nombreuses façons d'obtenir ce que vous voulez.
EDIT:
Joda-Time peut être téléchargé iciet voici un exemple de la façon dont Joda:
J'ai récemment développé Lamma Date qui est conçu pour résoudre ce cas d'utilisation:
Peut-être que cette rubrique peut vous aider.
Java - Comment calculer le premier et le dernier jour de chaque semaine
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Date.html
Je recommande Calendrier.get(Calendar.DAY_OF_WEEK)
Vous pourriez essayer de travailler avec le
Calendar.WEEK_OF_YEAR
champ, ce qui vous donne la représentation numérique de la semaine dans l'année en cours.