Java 如何获取特定星期中特定日期的日期

Java 如何获取特定星期中特定日期的日期,java,android,jodatime,Java,Android,Jodatime,我想得到一周中某一天的日期,由周数标识 下面是一个例子: 今天是星期一(2016年10月3日),这一周的数字是58。 现在我想知道这个星期的日期,例如星期五 我在android应用程序中使用Joda Time 目前,我正在创建LocalDate // This is the date of today private LocalDate reportDate = new LocalDate(); // The number of the week is calculated here

我想得到一周中某一天的日期,由周数标识

下面是一个例子:

今天是星期一(2016年10月3日),这一周的数字是58。 现在我想知道这个星期的日期,例如星期五

我在android应用程序中使用Joda Time

目前,我正在创建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);

我希望这能回答您的问题。

您可以使用以下代码来实现所需的天数

    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

根据我对您需求的理解,我已经实现了以下代码,请检查它是否对您有帮助

第一个导入日历包,如下所示

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日?另外,您是否关心在当地,一周的第一天不是星期一?我不清楚周数如何影响计算。如果报告日期是10月3日,每周的第天是星期二,那么不管周数是多少,答案大概是10月4日?另外,你是否关心在当地一周的第一天不是星期一?