본문으로 바로가기
반응형

자바 Timer 클래스 사용하기

date 에 원하는 날짜 및 시간을 입력 후 불러온다.

 

TimerTask 클래스 안에있는 run 메소드는 작업을 하기위한 내용을 적는 곳으로

저 같은 경우 실행 될 메소드를 적었습니다.

 

timer.scheduleAtFixedRate(TimerTask, 메소드가 실행되는 시간, 메소드 실행주기)

=> 아래와 같은 경우 1분뒤  ,1분마다 실행되도록 지정한 것입니다.

 

메소드 실행시간을 바꾸려면 date의 set 부분을 변경해주고 

메소드 실행주기는 3 * 24*60*60*1000 == 3일 주기

                                      24*60*60*1000 == 1일 주기

                                            60*60*1000 == 1시간 주기

등등 선택에 따라 적용하시면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class Weatherc {
 
    public static void main(String[] args) throws IOException{
        
          Calendar date = Calendar.getInstance();
          date.set(Calendar.HOUR , 2);
          date.set(Calendar.MINUTE, 0);
          date.set(Calendar.SECOND, 0);
          date.set(Calendar.MILLISECOND, 0);
          PVWeather pv = new PVWeather();
    
        
        Timer timer = new Timer();
        SimpleDateFormat Format = new SimpleDateFormat("HHmm");
        String HOUR = Format.format(date.getTime());
        
        TimerTask TimerTask = new TimerTask() {
        
        // 02시가 되면 fn_PVConnect 메소드 실행
        @Override
        public void run() {
            
            String yes = pv.fn_Yesterday();
            String Yester = yes.substring(08);
            String TT = "09";
            String HH = "18";
            int stnIds = 283;
            String PVresponse;
            if(HOUR.equals("0200")) 
            {
            PVresponse = pv.fn_PVConnect(stnIds, Yester, TT, Yester, HH);
            }
        }
    };      /*11*60*60*1000 24*60*60*1000*/
           //scheduleAtFixedRate(TimerTask 클래스의 run 메소드 실행, 수행시간, 수행주기)
            timer.scheduleAtFixedRate(TimerTask, 60006000);
    
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs

 

반응형