2016-10-02 94 views
0

我想要獲取某周特定日期的日期,以週數標識。如何獲得特定一週中特定日期的日期

下面是一個例子:

今天是星期一(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; 
    // ... 
+0

我不清楚週數是如何影響計算的。如果報告日期是10月3日,而星期幾是星期二,則大概答案將是10月4日,而不管週數是多少?你是否也在意在本週的第一天不是星期一? –

回答

1

您可以使用下面的代碼作爲期望實現的日子裏,

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); 

我希望這回答您的查詢。

1

按我的客戶要求我已經實現下面的代碼,只是檢查,如果它可以幫助你理解,

首先導入日曆套餐如下

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