
1、while(true) {
if (当前时间到了11点) {
做你的Task();
}
Threadsleep(301000); //sleep 30 seconds
}
2、写一个bat文件(里面调用你的Java类),用Windows的计划任务,每天11点执行这个bat文件。
3、用开源的Quartz框架,专门做定时任务的。可能需要下载,看看文档,写几个配置文件。
推荐第三种,最专业的。
统一处理是要满足一定条件的,比如年份必须输入四位或者年月日的顺序
不然09/5/1--->09/5/10 这个格式要当成2009年还是2010年,完全没限制的输入没办法完全兼容
给出的是你列举出来的格式,要还会有别的格式就另加处理吧~~~
public static void main(String[] args) {
//2009/05/01,09/5/1,09年5月1日,05/01/2009,2009年05月01日,20090501,2009-5-1
String date="20090501";
if(datematches("^[\\d]{4}/[\\d]{2}/[\\d]{2}$")){//2009/05/01
date=datereplace("/", "-");
}else if(datematches("^[\\d]{2}/[\\d]{1,2}/[\\d]{1,2}$")){//09/5/1
date=20+datereplace("/", "-");
}else if(datematches("^[\\d]{2}年[\\d]{1,2}月[\\d]{1,2}日$")){//09年5月1日
date=20+datereplaceAll("[年||月]", "-");
date=datesubstring(0, datelength()-1);
}else if(datematches("^[\\d]{2}/[\\d]{2}/[\\d]{4}$")){//05/01/2009
date=datesubstring(6, 10)+"-"+datesubstring(3, 5)+"-"+datesubstring(0, 2);
}else if(datematches("^[\\d]{4}年[\\d]{2}月[\\d]{2}日$")){//2009年05月01日
date=datereplaceAll("[年||月]", "-");
date=datesubstring(0, datelength()-1);
}else if(datematches("^[\\d]{8}$")){//20090501
date=datesubstring(0, 4)+"-"+datesubstring(4, 6)+"-"+datesubstring(6, 8);
}else if(datematches("^[\\d]{4}-[\\d]{1,2}-[\\d]{1,2}$")){//2009-5-1
}
javasqlDate d=javasqlDatevalueOf(date);//不直接输出是因为要考虑2009-5-1和2009-5-11日期和月份两位数的处理
Systemoutprintln(dtoString());
}
以上就是关于JAVA怎么定时启动服务进程(满意答案给高分)全部的内容,包括:JAVA怎么定时启动服务进程(满意答案给高分)、java 格式化 日期回答有用再加50分!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)