[英]get week start and end date from week number & year in android
我希望获得一周的开始日期和结束日期,以及传入方法的一周数字。 例如,如果我将周数作为51
,将年份作为2011
,则应将我的开始日期定为18 Dec 2011
,结束日期为24 Dec 2011
有没有什么方法可以帮助我实现这一目标?
您可以使用以下方法获取一周的第一个日期和结束日期
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
类。 您可以设置年Calendar.YEAR
和一年的周Calendar.WEEK_OF_YEAR
使用public void set(int field, int value)
的方法。
只要正确设置了语言环境,您甚至可以使用setFirstDayOfWeek
来更改一周的第一天。 您的日历实例所代表的日期将是您的开始日期。 只需为您的结束日期添加6天。
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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.