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 閱讀(463) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 台前县| 娱乐| 三门峡市| 东乡县| 右玉县| 精河县| 安溪县| 齐河县| 安平县| 绍兴县| 南召县| 信宜市| 神木县| 玉林市| 贵溪市| 恩施市| 平舆县| 金乡县| 鄢陵县| 闽侯县| 芜湖市| 台安县| 白玉县| 玉环县| 武清区| 沅江市| 北安市| 于田县| 炎陵县| 乌鲁木齐县| 清水河县| 红原县| 准格尔旗| 大港区| 翁牛特旗| 黄梅县| 清远市| 旬阳县| 康乐县| 临夏市| 桃园市|