CAFE

안드로이드 질문

현재 요일에 해당하는 주의 날짜 가져오기

작성자알이스파니히|작성시간14.11.07|조회수370 목록 댓글 5

안녕하세요. 성근님.


다름이 아니라 시간표 앱을 개발을 하던중 현재 요일에 해당하는 주의 날짜를 다 가져와서 각각 텍스트뷰로 뿌려주고싶은데

로직이 막 떠오르는게 없어서요...


어찌보면 되게 간단해 보이는데 막상 하니 잘 안되네요...

    Calendar c = Calendar.getInstance();

// set day of week

mWeekDate[0].setText(mMonth + "/" + String.valueOf(c.get(Calendar.MONDAY)));

mWeekDate[1].setText(mMonth + "/" + String.valueOf(c.get(Calendar.TUESDAY)));

mWeekDate[2].setText(mMonth + "/" + String.valueOf(c.get(Calendar.WEDNESDAY)));

mWeekDate[3].setText(mMonth + "/" + String.valueOf(c.get(Calendar.THURSDAY)));

mWeekDate[4].setText(mMonth + "/" + String.valueOf(c.get(Calendar.FRIDAY)));

mWeekDate[5].setText(mMonth + "/" + String.valueOf(c.get(Calendar.SATURDAY)));


위와같이 calendar 클래스 이용해서 구하려했는데 이상한 값들이 나오네요... 

어떻게 하면 되는지 도움 요청드립니다.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자슈퍼성근 | 작성시간 14.11.08 Date todayTime = c.getTime();

    // 1. 일요일, 2 월요일, 3 화요일 4 수요일 5 목요일 6금요일 7 토요일
    long firstDayInMillis = c.getTimeInMillis() - (ONE_DAY * (c.get(Calendar.DAY_OF_WEEK) - 1));

    for( int i = 0 ; i < 7 ; i++ )
    {
    todayTime.setTime( firstDayInMillis );
    c.setTime( todayTime );

    int day = c.get( Calendar.DAY_OF_MONTH );

    tv.setText( tv.getText().toString() + day + "\n");

    firstDayInMillis += ONE_DAY;
    }
  • 작성자슈퍼성근 | 작성시간 14.11.08 안녕하세요. 위에 적은 것처럼

    오늘 Time에서 주의 첫 요일인 일요일까지 시간은 뺀후
    하루씩 더하면서 날짜를 구하면 되지 않나요?

    새벽이라 = _= 몽롱한 정신에 ...

    수고하세요.

  • 답댓글 작성자알이스파니히 작성자 본인 여부 작성자 | 작성시간 14.11.10 답변 감사합니다.
    위 코드에서 궁금한게 있는데 ONE_DAY라는 값은 어떤 값을 의미하는것인지 알수있을까요??
  • 작성자알이스파니히 작성자 본인 여부 작성자 | 작성시간 14.11.10 음... 자답입니다.

    Calendar c = Calendar.getInstance();
    int curDay = c.get(Calendar.DAY_OF_WEEK);

    // set day of week
    // 1. 일요일, 2 월요일, 3 화요일 4 수요일 5 목요일 6금요일 7 토요일
    int monDay = c.get(Calendar.MONDAY);
    Calendar weekCalendar = Calendar.getInstance();
    weekCalendar.set(Calendar.DATE, monDay);

    for (int i = 0; i < mWeekDate.length; i++) {
    mWeekDate[i].setText(String.valueOf(weekCalendar.get(Calendar.MONTH) + 1) + "/" + String.valueOf(weekCalendar.get(Calendar.DATE)));
    weekCalendar.add(Calendar.DATE, 1);
    }
  • 작성자알이스파니히 작성자 본인 여부 작성자 | 작성시간 14.11.10 당일에 해당하는 주의 월요일을 구해서 따로 주간 달력용 캘린더 생성 후 월요일을 지정하여 요일만큼 for 문을 돌려서 하루하루 추가하는걸로 하니까 잘되네요.

    도움 감사합니다.
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼