在android中获取周数和年份的星期开始和结束date

我希望得到一周的开始date和结束date,一个星期的数字传入方法。 例如,如果我将周数设为51 ,将年份设为2011 ,则应将开始date设为18 Dec 2011 ,结束date设为24 Dec 2011

有什么方法可以帮助我达到这个目标吗?

Solutions Collecting From Web of "在android中获取周数和年份的星期开始和结束date"

您可以使用以下方法获取一周的第一个date和结束date

  void getStartEndOFWeek(int enterWeek, int enterYear){ //enterWeek is week number //enterYear is year Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.WEEK_OF_YEAR, enterWeek); calendar.set(Calendar.YEAR, enterYear); SimpleDateFormat formatter = new SimpleDateFormat("ddMMM yyyy"); // PST` Date startDate = calendar.getTime(); String startDateInStr = formatter.format(startDate); System.out.println("...date..."+startDateInStr); calendar.add(Calendar.DATE, 6); Date enddate = calendar.getTime(); String endDaString = formatter.format(enddate); System.out.println("...date..."+endDaString); } 

你需要使用java.util.Calendar类。 您可以使用public void set(int field, int value)方法public void set(int field, int value)使用Calendar.YEARCalendar.YEAR来设置年份。

只要区域设置正确,您甚至可以使用setFirstDayOfWeek更改一周中的第一天。 日历实例表示的date将是您的开始date。 只需添加6天的结束date。

 Calendar calendar = new GregorianCalendar(); // Clear the calendar since the default is the current time calendar.clear(); // Directly set year and week of year calendar.set(Calendar.YEAR, 2011); calendar.set(Calendar.WEEK_OF_YEAR, 51); // Start date for the week Date startDate = calendar.getTime(); // Add 6 days to reach the last day of the current week calendar.add(Calendar.DAY_OF_YEAR, 6); // End date for the week Date endDate = calendar.getTime();