社区
Java SE
帖子详情
timer基础问题
chensiyu04
2008-02-16 02:55:57
我想让 timer在
早上6:00 中午12点 晚上18:00
运行
schedule(TimerTask task, Date time)
我该怎么写?
...全文
51
4
打赏
收藏
timer基础问题
我想让 timer在 早上6:00 中午12点 晚上18:00 运行 schedule(TimerTask task, Date time) 我该怎么写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Acylas
2008-02-16
打赏
举报
回复
这个问题容易解决,对Date进行计算转换一下就ok了.
TimerTask task = new TimerTask(){
public void run() {
//To do
}
}
Timer timer = new Timer();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date date = sdf.pasre("2008-02-16 6:00");
Calendar currentTime = Calendar.getInstance();
Calendar firstTime = Calendar.getInstance();
if (date < currentTime.getTimeInMillis()) {
firstTime.set(currentTime.get(Calendar.YEAR),currentTime.get(Calendar.MONTH),
currentTime.get(Calendar.DATE));
//如果当前的时间已经超过了指定运行的时间,则要重新设定运行时间
if (firstTime.getTimeInMillis() <= currentTime.getTimeInMillis()) {
while (firstTime.getTimeInMillis() <= currentTime.getTimeInMillis()) {
long exeTime = firstTime.getTimeInMillis() + 1000 * 60 * 60 * 6;
firstTime.setTime(new Date(exeTime));
}
}
else {
while (firstTime.getTimeInMillis() - currentTime.getTimeInMillis() > 1000 * 60 * 60 * 6) {
long exeTime = firstTime.getTimeInMillis() - 1000 * 60 * 60 * 6;
firstTime.setTime(new Date(exeTime));
}
}
}
else {
firstTime.setTime(date);
}
timer.schedule(task, firstTime.getTime(), 1000 * 60 * 60 * 6);//每隔六小时运行一次
建议不要用java本身的Timer,这是通过Object的wait等方法进行控制的,
如果有多个TimerTask的时候,不能同步触发.最好是用Quartz.
chensiyu04
2008-02-16
打赏
举报
回复
...分给过你才发现问题还没解决..
timer.schedule(task, date, 1000 * 60 * 60 * 6);//每隔六小时运行一次
你这是每间隔6个小时才运行一次
如果中间程序关闭了呢??? 那不就完蛋了?
我要的是
早上6:00 中午12点 晚上18:00
chensiyu04
2008-02-16
打赏
举报
回复
thanks you!
分已给你`
Acylas
2008-02-16
打赏
举报
回复
TimerTask task = new TimerTask(){
public void run() {
//To do
}
}
Timer timer = new Timer();
Date date = SimpleDateFormat.pasre("2008-02-16 6:00");
timer.schedule(task, date, 1000 * 60 * 60 * 6);//每隔六小时运行一次
C#图片浏览(支持鼠标拖动与滚轮缩放)
很简单的图片浏览,很
基础
的事件控制。 支持鼠标滚轮缩放; 支持鼠标拖动; 鼠标拖动范围限制; 定时触发工具条; …… 编写工具:VS2005
C# 绘制实时曲线包括绘制坐标轴
C# 绘制实时曲线及坐标轴,实现实时的图像处理操作。
SwiftUI
Timer
基础
使用,解决Scrollview冲突
问题
实战需求
Timer
是让SwiftUI动起来的
基础
组件,但有时会和scrollview冲突,该如何解决呢? 本文价值与收获 看完本文后,您将能够作出下面的界面 Jietu20200505-003447@2x.jpg Jietu20200505-003542.gif 看完本文您将掌握的技能 掌握
Timer
基础
使用 学会
Timer
和Scrollview的整合 解决
Timer
因...
SwiftUI
Timer
基础
教程
Timer
经过一定时间间隔后触发的计时器,将指定的消息发送到目标对象。 class
Timer
: NSObject 使用教程 计时器与运行循环配合使用。运行循环会维护对其计时器的强引用,因此在将计时器添加到运行循环后,您不必维护自己的对计时器的强引用。 为了有效地使用计时器,您应该了解运行循环的运行方式。有关更多信息,请参见线程编程指南。 计时器不是实时机制。如果计时器的触发时间发生在长时间...
Timer
-
基础
篇
定时任务调度:基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行任务。
Timer
由JDK自带,不需要引入多余的jar。 Quartz需要引入架包,Quartz时间控制更强大,
Timer
只有一个后台线程执行任务,Quartz拥有后台执行线程池能够使用多个线程执行任务。 能用
Timer
处理的时候,尽量用
Timer
处理。因为 Quartz 需要的资源更多(写法也不一样)。...
Java SE
62,629
社区成员
307,262
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章