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


+ Recent posts