marswj

一个简单的周期性Timer

 1/* 文件名:EggTimer.java 创建日期:2005-11-25 */
 2
 3package cn.vcol.timer;
 4
 5import java.text.SimpleDateFormat;
 6import java.util.Calendar;
 7import java.util.Date;
 8import java.util.Timer;
 9import java.util.TimerTask;
10
11/**
12 * @author blog.vcol.cn
13 */

14public class EggTimer
15{
16    private final Timer timer = new Timer();
17
18    private void start()
19    {
20        long period = 2 * 60 * 1000;// 周期为2分钟
21        timer.schedule(new TimerTask()
22        {
23            public void run()
24            {
25                System.out.println("本次运行于:" + getFormatDate(new Date()));
26                playSound();
27            }

28
29            private void playSound()
30            {
31                System.out.println("Your egg is ready!");
32                // Start a new thread to play a sound
33            }

34        }
, getDateTime(), period);
35    }

36
37    public static void main(String[] args)
38    {
39        EggTimer eggTimer = new EggTimer();
40        eggTimer.start();
41    }

42
43    /**
44     * 首次运行的时间
45     * @return
46     */

47    private Date getDateTime()
48    {
49        Calendar calendar = Calendar.getInstance();
50        Date date = new Date();
51        System.out.println("程序开始于:" + getFormatDate(date));
52        calendar.setTime(date);
53        // 设定时间
54        calendar.setFirstDayOfWeek(Calendar.MONDAY);// 设定星期一为一个星期的第一天
55        calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);// 本周的星期日(相对于程序运行时)
56        calendar.set(Calendar.HOUR_OF_DAY, 14);
57        calendar.set(Calendar.MINUTE, 57);
58        calendar.set(Calendar.SECOND, 0);
59        //
60        System.out.println("首次运行于:" + getFormatDate(calendar.getTime()));
61        return calendar.getTime();
62    }

63
64    /**
65     * 格式化日期
66     * @param date
67     * @return
68     */

69    private String getFormatDate(Date date)
70    {
71        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
72        return sdf.format(date);
73    }

74}

75

posted on 2005-11-25 20:32 marswj 阅读(450) 评论(0)  编辑  收藏 所属分类: Java


只有注册用户登录后才能发表评论。


网站导航: