android calendar 사용 예 (안드로이드 카렌더 사용 예)
// 날짜 비교 예 (특정시간 이후인지) @SuppressLint("SimpleDateFormat") public static boolean showIntroNotiDialogCheck(){ // Noti 다이알로그를 보여줄지 확인 Date currentTime = new Date(); Calendar cal = Calendar.getInstance(); SimpleDateFormat dateForm = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateForm2 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Calendar aDate = Calendar.getInstance(); // 비교하고자 하는 임의의 날짜 aDate.set(2014, 1, 16); // 2014년 2월 16일 // aDate.set(2014, 1, 4); // 2014년 2월 4일 // 여기에 시,분,초를 0으로 세팅해야 before, after를 제대로 비교함 aDate.set( Calendar.HOUR_OF_DAY, 23 ); // 23시 aDate.set( Calendar.MINUTE, 0 ); aDate.set( Calendar.SECOND, 0 ); aDate.set( Calendar.MILLISECOND, 0 ); Calendar bDate = Calendar.getInstance(); // 이것이 시스템의 날짜 bDate.setTime(currentTime); if (aDate.before(bDate)){ // aDate가 bDate보다 작을 경우 출력 System.out.println("다이알로그 안보여줌, 해당 날짜 지남. aDate = " + dateForm2.format(aDate.getTime())); System.out.println("시스템 날짜인 bDate = " + dateForm2.format(bDate.getTime())); return false; // 날짜 지났으면 안보여줌 }else{ System.out.println("다이알로그 보여줌. 해당 날짜 안지남. aDate = " + dateForm2.format(aDate.getTime())); System.out.println("시스템 날짜인 bDate = " + dateForm2.format(bDate.getTime())); return true; } }
// 시간 비교 예 ( 마감 1시간에서 1초씩 줄어들기) private Timer mTimer; private void setResgtBtn(){ MainTimerTask timerTask = new MainTimerTask(); mTimer = new Timer(); mTimer.schedule(timerTask, 500, 1000); } private void startEventTime(){ Calendar calStart = Calendar.getInstance(); secStart = calStart.getTimeInMillis(); String sTemp = Long.toString(secStart); mPrefData.setEventTime(sTemp); mPrefData.commit(); } private void loadEventTime(){ mPrefData.refresh(); String sTemp = mPrefData.getEventTime(); if(!sTemp.equals("")){ secStart = Long.parseLong(sTemp); } } private Handler mHandler = new Handler(); private Runnable mUpdateTimeTask = new Runnable() { public void run() { String myTime = ""; Calendar calCur = Calendar.getInstance(); Long secCur = calCur.getTimeInMillis(); Long remainSec = 3600000 - (secCur-secStart); // Long remainSec = 28800000 - (secCur-secStart); // 8시간 일 경우 if( remainSec > 0){ // 1시간 이내이면, 시, 분, 초 표시 myTime = String.format(Locale.KOREAN,"%02d : %02d : %02d", 0, remainSec/60000, (remainSec/1000) % 60 ); //myTime = String.format(Locale.KOREAN,"%02d : %02d : %02d", // 8시간 일 경우 // (remainSec/3600000)%12 , (remainSec/60000) %60 , (remainSec/1000) % 60 ); }else{ myTime = "00 : 00 : 00"; } tv_event_time2.setText(myTime); } }; class MainTimerTask extends TimerTask { public void run() { mHandler.post(mUpdateTimeTask); } } protected void onDestroy() { if(mTimer != null){ mTimer.cancel(); } super.onDestroy(); };
'안드로이드 개발 팁' 카테고리의 다른 글
android 색칠하기 알고리즘 (0) | 2014.05.13 |
---|---|
android webview popup 보여주기 (0) | 2014.03.25 |
android 간단한 Custom Dialog 예제 (0) | 2014.03.12 |
View pager 사진 보여주기 예제, 포인터 및 애니메이션 포함 (0) | 2014.03.07 |
android getTag, setTag를 이용하여 listview에 버튼 이벤트 받기 (0) | 2014.03.05 |