JAVA怎么定时启动服务进程(满意答案给高分)

JAVA怎么定时启动服务进程(满意答案给高分),第1张

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分!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9562797.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存