Maison > Questions et réponses > le corps du texte
Comme dans le titre, par exemple, nous sommes aujourd'hui le 21/06/2017. Comment puis-je obtenir le lundi de la semaine dernière, le 12/06/2017
.为情所困2017-06-23 09:15:25
Merci pour l'invitation.
Je me souviens qu'il semblait y avoir un problème avec le traitement des dates en Java, mais j'ai oublié les détails. Généralement, le framework Time au niveau de l'entreprise Joda-Time est utilisé, par exemple :
//今天
DateTime today = DateTime.now();
//上周的今天
DateTime sameDayLastWeek = today.minusWeeks(1);
//上周的周一
DateTime mondayLastWeek = sameDayLastWeek.withDayOfWeek(DateTimeConstants.MONDAY);
//上周的周日
DateTime sundayLastWeek = sameDayLastWeek.withDayOfWeek(DateTimeConstants.SUNDAY);
阿神2017-06-23 09:15:25
Quant au problème avec le traitement des dates de Java, c'était du passéjava.util.Date
, 现在的新包java.time
的API处理时间也是非常方便,API都是参考了很多优秀的Time框架,例如Joda-Time
, donc si vous voulez l'utiliser, vous devriez utiliser votre propre API, haha, après tout, c'est son fils biologique
LocalDate newLocalDate = LocalDate.of(2017, 6, 21).minusWeeks(1l)
.with(DayOfWeek.MONDAY);
Haha, n'est-ce pas très concis ? N'est-ce pas plus concis que Joda-Time
cet enfant illégitime C'est trop cool~~~Gagaga
我想大声告诉你2017-06-23 09:15:25
LocalDate.now().minusWeeks(1).minusDays(LocalDate.now().getDayOfWeek().getValue()-1)
C'est comme ça que je l'écris maintenant, je ne sais pas s'il existe une meilleure façon
曾经蜡笔没有小新2017-06-23 09:15:25
public static void getLastMonday(){
LocalDate local = LocalDate.now();//获取当前时间
DayOfWeek dayOfWeek = local.getDayOfWeek();//获取今天是周几
LocalDate lastMonday = local.minusDays(7+dayOfWeek.getValue()-1);//算出上周一
}