2012-12-20 8 views
3

내 응용 프로그램에 날짜 선택 도구가 있습니다. 그러나 날짜 대신 요일을 선택해야합니다 (예 : 23 일을 선택하면 "금요일"과 같은 날짜가 필요합니다. 번호 대신). 클릭 이벤트에 OnDateSetListener을 사용했습니다.datepicker 선택한 요일 android

private DatePickerDialog.OnDateSetListener datePickerListener = new   DatePickerDialog.OnDateSetListener() 
{  
    public void onDateSet(DatePicker view, int selectedYear, 
     int selectedMonth, int selectedDay) 
    { 

       } 
     } 

나는() 화요일을 월요일 (또는 같은 ..) 문자열 일 필요 selectedDay에 대한 위의 코드

+0

[Android : 요일 (월 ... 등)을 사용자 언어로 가져 오는 방법?] (http://stackoverflow.com/questions/7651221/android-how-to-get) - 현재 요일 - 월요일 - 기타 - 사용자 - l) – bummi

답변

4

변화 SimpleDateFormat 사용하여 요일을 가져 오는 등의 코드에서 :

private DatePickerDialog.OnDateSetListener 
    datePickerListener = new DatePickerDialog.OnDateSetListener() 
{  
    public void onDateSet(DatePicker view, int selectedYear, 
     int selectedMonth, int selectedDay) 
    { 
     SimpleDateFormat simpledateformat = new SimpleDateFormat("EEEE"); 
     Date date = new Date(selectedYear, selectedMonth, selectedDay-1); 
     String dayOfWeek = simpledateformat.format(date); 
    } 
} 
+0

@pros : 요일은 문자열 형식으로 표시되지만 전날 (예 : 금요일의 토요일 , 토요일은 일요일). selectedDay 대신 selectedDay-1을 사용하여 올바른 result.pls가 올바른 것으로 표시되도록 변경합니다. – shivcena

+0

@sivanesan : 감사합니다. 변경했습니다. –

1

이것은 하루 이름 u를 줄 것입니다 ::

0

사용하지 마십시오 :

Date date = new Date(selectedYear, selectedMonth, selectedDay-1); 

어떤 경우에는 잘못된 출력을 제공합니다. 수요일 28-Jan-2015와 04-jul-1940으로 확인하십시오.하지만 금요일은 1940 년 4 월 19 일에 반환됩니다.

사용 :

GregorianCalendar GregorianCalendar = new GregorianCalendar(year, monthOfYear, dayOfMonth-1); 

int dayOfWeek=date.get(date.DAY_OF_WEEK); 

위의 방법은 정수 값을 반환합니다

  • 1 - 월요일
  • 2 - 화요일
  • ...
  • 7 - 일요일
관련 문제