java Timer计时器小例子

小例子:每天下午五点整提醒

先写个初级版练练手:每三秒钟提示一次

package com.uwo9.test06;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class Test01 {

	public static void main(String[] args) {
		// 计时器
		Timer timer = new Timer("计时器");
		// 任务
		TimerTask task = new TimerTask() {

			@Override
			public void run() {
				System.out.println(new Date());
				System.out.println("闹钟响了,该起床了");
			}
		};
		Date time = new Date(117, 10, 7, 17, 00);
		// timer.schedule(task, time);
		timer.schedule(task, time, 3000);
	}

}
现在来写升级版:
package com.uwo9.test06;

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class Test02 {

	// 时间间隔(一天)
	private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;

	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
		calendar.set(Calendar.HOUR_OF_DAY, 17);// 时
		calendar.set(Calendar.MINUTE, 0);// 分
		calendar.set(Calendar.SECOND, 0);// 秒
		Date date = calendar.getTime();// 第一次执行任务的时间
		// 如果第一次执行任务的时间小于当前时间,此时要在 第一次执行定时任务的时间加一天,
		// 以便此任务在下个时间点执行。如果不加一天,任务会立即执行。
		if (date.before(new Date())) {
			calendar.add(Calendar.DATE, 1);
			date = calendar.getTime();
		}

		// 计时器
		Timer timer = new Timer("计时器");
		// 任务
		TimerTask task = new TimerTask() {

			@Override
			public void run() {
				System.out.println(new Date());
				System.out.println("上课啦!快点敲代码!");
			}
		};
		timer.schedule(task, date, PERIOD_DAY);
	}

}




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值