2013-05-05 4 views
5

오늘 주간 일정을 확인하고 싶습니다.오늘 주중 날짜 받기

오늘은 화요일 07.05.2013입니다. 이번 주 요일 날짜 목록을 얻고 싶습니다

어떻게해야합니까?

Sunday 05.05.2013 
Monday 06.05.2013 
*Tuesday 07.05.2013 
Wednesday 08.05.2013 
Thursday 09.05.2013 
Friday 10.05.2013 
Saturday 11.05.2013 

답변

15

이 코드는 시스템 일주일의 첫날을 사용하여 작동합니다, 그 일요일 다를 수 있습니다.

Calendar cal = Calendar.getInstance(); 
    cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek()); 
    SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd.MM.yyyy"); 

    for (int i = 0; i < 7; i++) { 
     Log.i("dateTag", sdf.format(cal.getTime())); 
     cal.add(Calendar.DAY_OF_WEEK, 1); 
    } 
+0

예, 코드는 일요일로 시작합니다. 어떻게 월요일부터 시작할 수 있습니까? 'setFirstDayOfWeek (Calendar.MONDAY);'06.05 시작; 오늘은 일요일이지만 05.05. 내 말은 월요일에 29.04를 시작하고 마지막 날에 일요일 05.05에 시작한다는 뜻입니다. 그것은 가능한가? – metemet06

+0

사용자의 현재 로캘 설정에 관계없이 코드가 동일한 방식으로 작동하게 하시겠습니까? 그렇다면 예를 들어'Calendar' 인스턴스를 사용하십시오. 영국 로케일 :'Calendar cal = Calendar.getInstance (Locale.UK)'. 영국의 로케일 첫 번째 요일은 월요일입니다. 그렇지 않으면 코드가 각각 작동하여 현재 로케일과 로케일이 일요일을 요일의 첫 번째 요일로 지정하므로 월요일을 요일로 설정하더라도 이러한 동작이 발생합니다. – andrew

1

이 시도 ->

Calendar c = Calendar.getInstance(); 
c.set(Calendar.DAY_OF_MONTH, 5); 
c.set(Calendar.MONTH, 7); 
c.set(Calendar.YEAR, 2013); 

int weekNo = c.get(Calendar.WEEK_OF_YEAR); 
c.set(Calendar.WEEK_OF_YEAR, weekNo); 

c.clear(); 

c.set(Calendar.WEEK_OF_YEAR, weekNo); 
c.set(Calendar.YEAR, 2013); 


SimpleDateFormat formatter = new SimpleDateFormat("EEE dd/MM/yyyy"); 
Date startDate = c.getTime(); 
c.add(Calendar.DATE, 1); 
for (int i = 0; i < 5; i++) { 
    Log.d(formatter.format(c.getTime())); 
    c.add(Calendar.DATE, 1); 
} 
+0

감사합니다. 특정 날짜 (07.05.2013) 대신 현재 날짜를 사용하는 방법을 알려주세요. 나는 현재 날짜가있는 주를 얻고 싶다는 뜻이다. – metemet06

+0

당신은 this-> 'c.set (calendar.DAY_OF_MONTH, new Date(). getDate());처럼 할 수있다. c.set (Calendar.MONTH, new Date(). getMonth()); c.set (Calendar.YEAR, new Date(). getYear()); ' –

+0

일요일 대신 월요일 첫째 날을 만들 수 있습니까?'cal.setFirstDayOfWeek (Calendar.MONDAY);를 사용했습니다. 월요일부터 예를 들면 오늘은 일요일 05.05.2013이지만 목록은 월요일부터 시작됩니다. 06.05.2013 ...하지만 일요일이 마지막 날 인 주를 가져 가고 싶습니다. 가능합니까? – metemet06