導航:首頁 > 編程語言 > java給一個方法限定時間

java給一個方法限定時間

發布時間:2025-07-24 02:45:34

1. java定時器 每天凌晨 固定執行一個方法

可以通過以下方式實現,

public class TimerManager {
//時間間隔
private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
public TimerManager() {
Calendar calendar = Calendar.getInstance();
/*** 定製每日:00執行方法 ***/
calendar.set(Calendar.HOUR_OF_DAY, 2);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);

Date date=calendar.getTime(); //第一次執行定時任務的時間

//如果第一次執行定時任務的時間 小於 當前的時間
//此時要在 第一次執行定時任務的時間 加一天,以便此任務在下個時間點執行。如果不加一天,任務會立即執行。
if (date.before(new Date())) {
date = this.addDay(date, 1);
}

Timer timer = new Timer();

NFDFlightDataTimerTask task = new NFDFlightDataTimerTask();
//安排指定的任務在指定的時間開始進行重復的固定延遲執行。
timer.schele(task,date,PERIOD_DAY);
}

// 增加或減少天數
public Date addDay(Date date, int num) {
Calendar startDT = Calendar.getInstance();
startDT.setTime(date);
startDT.add(Calendar.DAY_OF_MONTH, num);
return startDT.getTime();
}

}

public class NFDFlightDataTimerTask extends TimerTask {

private static Logger log = Logger.getLogger(NFDFlightDataTimerTask.class);

@Override
public void run() {
try {
//在這里寫你要執行的內容

} catch (Exception e) {
log.info("-------------解析信息發生異常--------------");
}
}
}

public class NFDFlightDataTaskListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
new TimerManager();
}
public void contextDestroyed(ServletContextEvent event) {
}

}

然後要在web.xml裡面配置監聽器
<listener>
<listener-class>
com.listener.NFDFlightDataTaskListener
</listener-class>
</listener>

2. JAVA中如何實現定時(是在某個特定的時間,如每天的14:00)運行某斷代碼

這個可以稍微轉換一下思路,只要獲取一下目標時間,再減去當前時間,獲取間隔T
然後再調用 Timer中的schele 隔T時間運行,一切搞定。

3. JAVA前台jsp頁面可選時間如何限制

jsp頁面做一個倒計時的提示就可以控制時間了。
實現方法如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<div id="showTimes"></div>
<%
long current_time=System.currentTimeMillis();
long end_time=1337875200000l;
long time=end_time-current_time;
%>
<script>
var second = <%= time / 1000%>; // 剩餘秒數
// 寫一個方法,將秒數專為天數
var toDays = function(){
var s = second % 60; // 秒
var mi = (second - s) / 60 % 60; // 分鍾
var h = ((second - s) / 60 - mi ) / 60 % 24; // 小時
var d = (((second - s) / 60 - mi ) / 60 - h ) / 24 // 天
return "剩餘:" + d + "天" + h + "小時" + mi + "分鍾" + s + "秒";
}
//然後寫一個定時器
window.setInterval(function(){
second --;
document.getElementById("showTimes").innerHTML = toDays ();
}, 1000);
</script>

4. java定時任務的定時表達式,每天早晨6:30執行任務,還有一個是每個月的1號和15號執行任務

public class TestTimerTask extends TimerTask{
public void run() {
Calendar cal = Calendar.getInstance();
//每月5號執行

if(cal.get(Calendar.DATE) == 5){
try {
//需要執行的代碼
} catch (Exception e) {
//logger.error(e);
e.printStackTrace();
}
System.gc();
//......
}
//周日執行

if(cal.get(Calendar.DAY_OF_WEEK) == 1){
try {
//需要執行的代碼

} catch (Exception e) {
// logger.error(e);
e.printStackTrace();
}
System.gc();
}
}
}
public class Test{
public static void main (String[] ages){
Timer timer = new Timer();//定時器
TestTimerTask ts = newTestTimerTask();//定時任務目標
Date firstTime = new Date();//第一次執行時間
long period = 1000 * 60 * 60 * 24;//執行間隔1天
timer.scheleAtFixedRate(ts, firstTime, period);//設置執行參數並且開始定時任務
}

}

5. 求高手指點一二,我需要用java編寫一個定時器,每天8點開始執行,每一個小時執行一次,過了晚上12點停止

ScheledExecutorServiceservice=Executors.();
service.scheleAtFixedRate(newTimerTask(){
@Override
publicvoidrun(){
if(當前時間>8點){
dowork();//你要做的事
}
if(當前時間>12點){
this.cancel();
}
}
},0,1,TimeUnit.HOURS);

6. 在Java中如何設置一個定時任務,在每天的一個時間點自動執行一個特定的程序具體代碼怎麼寫代碼全點

Quartz定時機制
首先導入jar包到程序內 quartz-all-1.6.0.jar

然後創建一個XML
TimeConfig.xml 名字可以自己定義

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="mainTask" class="net.timed.MainTask"/> //你要執行的任務類
//jar類
<bean id="mainJob" class="org.springframework.scheling.quartz.">
<property name="targetObject">
<ref bean="mainTask"/>//將你的類添加到定時器當中
</property>
<property name="targetMethod">
<value>execute</value> //定時執行類裡面的哪個方法
</property>
</bean>

<bean id="timeTrigger" class="org.springframework.scheling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="mainJob"/>
</property>
<!--
0 0 10,14,16 * * ? 每天上午10點,下午2點,4點
0 0/30 9-17 * * ? 朝九晚五工作時間內每半小時
0 0 12 ? * WED 表示每個星期三中午12點
"0 0 12 * * ?" 每天中午12點觸發
"0 15 10 ? * *" 每天上午10:15觸發
"0 15 10 * * ?" 每天上午10:15觸發
"0 15 10 * * ? *" 每天上午10:15觸發
"0 15 10 * * ? 2005" 2005年的每天上午10:15觸發
"0 * 14 * * ?" 在每天下午2點到下午2:59期間的每1分鍾觸發
"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鍾觸發
"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鍾觸發
"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鍾觸發
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發
"0 15 10 15 * ?" 每月15日上午10:15觸發
"0 15 10 L * ?" 每月最後一日的上午10:15觸發
"0 15 10 ? * 6L" 每月的最後一個星期五上午10:15觸發
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最後一個星期五上午10:15觸發
"0 15 10 ? * 6#3" 每月的第三個星期五上午10:15觸發

上面這個是quartz的語法 定時單位
-->
<property name="cronExpression">
<value>0 0/5 * * * ?</value> //定時的語法
</property>
</bean>
<bean id="sfb" class="org.springframework.scheling.quartz.SchelerFactoryBean">
<property name="triggers">
<list>
<ref local="timeTrigger"/>
</list>
</property>
</bean>
</beans>

//下面這個類就是我在XML中引入的類
package net.timed;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MainTask {
public void execute() throws IOException
{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("do my job"+dateFormat.format(new Date()));
Runtime.getRuntime().exec("cmd /c start E:/mbl/BusinessOffice/MoneDB/bin/bakup.bat");
}
}

然後在web.xml中把這個TimeConfig.xml添加進去作為監聽
系統啟動的時候自動就監聽這個事件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>
contextConfigLocation
</param-name>
<param-value>
/WEB-INF/TimerConfig.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

這個是quartz spring的定時機制 請仔細的看看 如果可以請給分哦

7. java中怎麼設置一個session在整個web中的時間

java中怎麼設置一個session在整個web中的時間

java中設置session存在整個web的時間方法如下:
(1)在主頁面或者公共頁面中加入:session.setMaxInactiveInterval(900);
參數900單位是秒,即在沒有活動15分鍾後,session將失效。
這里要注意這個session設置的時間是根據伺服器來計算的,而不是客戶端。所以如果是在調試程序,應該是修改伺服器端時間來測試,而不是客戶端。
(2)也是比較通用的設置session失效時間的方法,就是在項目的web.xml中設置
Xml代碼
[x] view plain
<session-config>
<session-timeout>15</session-timeout>
</session-config>
這里的15也就是15分鍾失效.
(3)直接在應用伺服器中設置,如果是tomcat,可以在tomcat目錄下conf/web.xml中
找到<session-config>元素,tomcat默認設置是30分鍾,只要修改這個值就可以了。

jsp中怎麼設置讓一個表格在整個網頁中居中

tml中讓表格在瀏覽器中左右居中,可以設置表格的align屬性 align有三個屬性: 1、居中:ce

如何為session設置一個過期的時間

為session設置一個過期的時間的方法

怎麼在整個pdf中加入一頁

Adobe Reader只是閱讀PDF文件的軟體。要在PDF文檔中添加一頁,推薦小巧的「Foxit PDF Editor」軟體,該軟體能編輯、修改PDF文件,功能十分強大。
如果PDF格式文件中間少了一頁,要加一頁的話,首先要把這一頁也改成PDF格式(即你要加的那一頁是TIFF頁得先改成PDF格式)。然後你可用Adobe Acrobat 6.0軟體來實現,具體方法是:
先打開需要插入某一頁的PDF文件,再依次點擊「文檔」—「頁面」—「插入」,選擇要插入的頁(即你把TIFF頁改成後的PDF這一頁),再選擇插入的位置後點擊「確定」即可。

java web中怎麼設置請求時間

Java中可以使用HttpURLConnection來請求WEB資源。
HttpURLConnection對象不能直接構造,需要通過URL.openConnection()來獲得
HttpURLConnection對象,示例代碼如下:
String szUrl = 「:ee2ee./」;
URL url = new URL(szUrl);
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
HttpURLConnection是基於HTTP協議的,其底層通過socket通信實現。如果不設置超時
(timeout),在網路異常的情況下,可能會導致程序僵死而不繼續往下執行。可以通過以下兩
個語句來設置相應的超時:
System.setProperty(「sun..client.defaultConnectTimeout」, 超時毫秒數字元串);
System.setProperty(「sun..client.defaultReadTimeout」, 超時毫秒數字元串);
其中: sun..client.defaultConnectTimeout:連接主機的超時時間(單位:毫秒)
sun..client.defaultReadTimeout:從主機讀取數據的超時時間(單位:毫秒)
例如:
System.setProperty(「sun..client.defaultConnectTimeout」, 「30000″);
System.setProperty(「sun..client.defaultReadTimeout」, 「30000″);
JDK 1.5以前的版本,只能通過設置這兩個系統屬性來控制網路超時。在1.5中,還可以使用
HttpURLConnection的父類URLConnection的以下兩個方法:
setConnectTimeout:設置連接主機超時(單位:毫秒)
setReadTimeout:設置從主機讀取數據超時(單位:毫秒)

怎樣固定div在整個網頁中的位置?

不用定位
加上

margin:0 auto;
margin-:30%; .百分比根據 div高度來調整

java 怎麼定義一個方法在整個系統中每隔多少時間(時間自己定義)就調用一次

繼承Thread類,或者實現Runnable類,在run()方法裡面,
while(true){
Sleep(1000);等1000毫秒,具體的時間自己定
做你要做的東西
}
然後在程序啟動的時候,start這個線程就可以。

ie6中的div模塊怎麼在整個屏幕中居中?

div{margin:0px auto;width:900px;}
若想在FF與IE中都居中就要加一屬性,div{margin:0 auto;text-align:center;width:900px;}

大傢伙幫下word字體在整個頁面垂直居中怎麼設置?

單行文字居中,適用於表格中
在文本段落里,不涉及這個問題
打開《表格屬性》,在[單元格]一項中,選擇垂直對齊方式就行了
======================
文本段落里還用上下居中啊?打了三行字,中間那一行會跑到別的地方嗎?

echarts怎麼設置圖形在整個echarts裡面的位置,一直居中不太靈活

series下有個center屬性,可以控制圓心坐標。圓心坐標,支持絕對值(px)和百分比,百分比計算min(width, height) * 50%,具體參見api文檔。

閱讀全文

與java給一個方法限定時間相關的資料

熱點內容
蘋果平板電腦怎樣升級 瀏覽:42
文件名被修改 瀏覽:914
手機端怎麼搭建網站 瀏覽:813
搜狐視頻文件格式 瀏覽:583
群文件傳的圖片怎麼變成問號了 瀏覽:384
ai死機的文件在哪裡 瀏覽:17
如何對網路空間行使管轄權 瀏覽:692
密碼自動破解 瀏覽:330
iphone6s微信震動設置 瀏覽:842
為什麼大數據行程碼無法登錄 瀏覽:487
婦聯發的文件在哪裡查 瀏覽:668
fileinfo文件名 瀏覽:918
xp網路驅動器如何刪除 瀏覽:243
易語言瀏覽文件夾添加 瀏覽:886
自學stm編程怎麼學 瀏覽:442
魔俠傳怎麼升級快 瀏覽:105
sql存儲文件路徑 瀏覽:880
陌游最新版本 瀏覽:752
安卓如何快速截屏快捷鍵 瀏覽:515
紅米手機文件管理在哪 瀏覽:857

友情鏈接