如何获得特定一周中特定日期的日期
问题描述:
我想要获取某周特定日期的日期,以周数标识。如何获得特定一周中特定日期的日期
下面是一个例子:
今天是星期一(2016年10月3日),它是在本周58 现在我想要得到的例如日期数本周五。
我在我的android应用程序中使用Joda-Time。
目前Iam正在创建LocalDate。
// This is the date of today
private LocalDate reportDate = new LocalDate();
// The number of the week is calculated here
int week = Weeks.weeksBetween(startDate.dayOfWeek().withMinimumValue().minusDays(1),
reportDate.dayOfWeek().withMaximumValue().plusDays(1)).getWeeks();
switch(day_of_week) {
case "Monday":
// Get date of this day in current week
break;
case "Tuesday":
// Get date of this day in current week
break;
// ...
答
您可以使用下面的代码作为期望实现的日子里,
LocalDateTime yourDate = LocalDateTime.now();
System.out.println(yourDate.getWeekOfWeekyear());
int weekOfyear = yourDate.getWeekOfWeekyear();
//Fetch Week Start Date for Given Week Number
DateTime weekStartDate = new DateTime().withWeekOfWeekyear(weekOfyear);
System.out.println(weekStartDate.toString());
//Fetch Specific Days for given week
DateTime wedDateTime = weekStartDate.withDayOfWeek(DateTimeConstants.WEDNESDAY);
我希望这回答您的查询。
答
按我的客户要求我已经实现下面的代码,只是检查,如果它可以帮助你理解,
首先导入日历套餐如下
import java.util.Calendar;
立即创建以下功能
public String getSpecificDate(int weekOfYear, int dayOfWeek)
{
Calendar cal = Calendar.getInstance();
cal.set(Calendar.WEEK_OF_YEAR, weekOfYear);
cal.set(Calendar.DAY_OF_WEEK, dayOfWeek);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH); // 0 to 11
int day = cal.get(Calendar.DAY_OF_MONTH);
String selectedDate = " " + day + "-" + (month+1) + "-" + year;
return selectedDate;
}
// I have passed getSpecificDate(41, 6) and get 7-10-2016 as output
我不清楚周数是如何影响计算的。如果报告日期是10月3日,而星期几是星期二,则大概答案将是10月4日,而不管周数是多少?你是否也在意在本周的第一天不是星期一? –