如何检查一天是在Java的当前周?

Ikr*_*rom 6 java date

是否有最简单的方法可以找到当天的任何一天?(此函数返回true或false,与给定日相关的是当前周或不是).

Ben*_*Cox 18

您肯定想使用Calendar类:http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html

这是一种方法:

public static boolean isDateInCurrentWeek(Date date) {
  Calendar currentCalendar = Calendar.getInstance();
  int week = currentCalendar.get(Calendar.WEEK_OF_YEAR);
  int year = currentCalendar.get(Calendar.YEAR);
  Calendar targetCalendar = Calendar.getInstance();
  targetCalendar.setTime(date);
  int targetWeek = targetCalendar.get(Calendar.WEEK_OF_YEAR);
  int targetYear = targetCalendar.get(Calendar.YEAR);
  return week == targetWeek && year == targetYear;
}
Run Code Online (Sandbox Code Playgroud)

  • 现在已经过时了。麻烦的旧日期时间类,例如 [`java.util.Date`](https://docs.oracle.com/javase/8/docs/api/java/util/Date.html)、[`java.util.Date`](https://docs.oracle.com/javase/8/docs/api/java/util/Date.html) util.Calendar`](https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html) 和 `java.text.SimpleTextFormat` 现在是[遗留](https:// /en.wikipedia.org/wiki/Legacy_system),由 [java.time](https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html) 类取代。请参阅 [Oracle 教程](https://docs.oracle.com/javase/tutorial/datetime/TOC.html)。 (2认同)