導航:首頁 > 編程語言 > java0點時間

java0點時間

發布時間:2023-01-30 09:48:21

『壹』 java單機版程序,如何指定在每天凌晨0:00:00執行

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class HandleTimerTask implements ServletContextListener {

private Timer timer = null; //定時器
private static int DOWNlOAD_HOUR = 0; //執行任務開始時間(時)
private static int DOWNlOAD_MINUTE = 0; //執行任務開始時間(分)
private static int DOWNlOAD_SECOND = 0; //執行任務開始時間(秒)
private long delay; //延時時間值(當前系統時間到下載時間之間的時間差毫秒數)

public void contextInitialized(ServletContextEvent event) {
init();//初始化參數
timer = new Timer(true);//創建Timer對象
//定時執行程序
timer.schele(new Handle(event.getServletContext()),delay,24*60*60*1000);//調用Handle()類(即每天要執行的任務),delay表示延遲毫秒數,0,24*60*60*1000表示每隔一天執行一次任務,60*60*1000表示一個小時;
}

public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
}

/**
* 初始化參數
* @return
*/
public void init(){
//聲明一個Calendar對象
Calendar cal = Calendar.getInstance();
//設置時間
cal.set(Calendar.HOUR_OF_DAY, DOWNlOAD_HOUR);
cal.set(Calendar.MINUTE, DOWNlOAD_MINUTE);
cal.set(Calendar.SECOND, DOWNlOAD_SECOND);
Date date = new Date();
//獲取設定的時間
date = cal.getTime();
//聲明當前時間
Date now = new Date();
//獲取設定的時間和當前的時間差(毫秒數)
long interval = date.getTime() - now.getTime();
//如果當前時間大於下載時間,則將下載時間設置為下一個下載時間
if (interval < 0) {
cal.add(Calendar.DAY_OF_MONTH, 1);//將天數加1
date = cal.getTime();
//獲取設定的時間和當前的時間差(毫秒數)
interval = date.getTime() - now.getTime();
}
this.startTime = date;//初始化開始下載時間
this.delay = interval;//初始化當前時間到下載時間之間的時間差
}
}

public class Handle extends TimerTask {

private ServletContext context = null;
Timer timer = null; //查詢任務定時器

public Handle(ServletContext context)
{
this.context = context;
}

/**
* 開始執行
*/
public void run() {
//開始執行
context.log("開始執行!");
}
}

用延遲時間可以實現,添加了一個init()方法用來計算延時數,不管什麼時候啟動服務,都可以根據當前系統時間和執行任務的開始時間計算出延時時間毫秒數。

雖然沒有分,還是希望能幫助你。 ^_^

『貳』 java時間轉換 0點被轉化成24點

CalendarmonEight=Calendar.getInstance();
monEight.set(Calendar.HOUR_OF_DAY,0);
monEight.set(Calendar.MINUTE,10);
monEight.set(Calendar.SECOND,0);
monEight.set(Calendar.MILLISECOND,0);

SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
StringeffectiveTime=format.format(monEight.getTime());
System.out.println("凌晨:"+effectiveTime);

凌晨:2014-03-24 00:10:00

『叄』 java 獲取當前時間與零點的時間差

一般情況下不會出現如題所示的問題,既然出現了我們就要想辦法解決之。以我的機器為例,我的當前系統時間是北京時間2011-08-31T08:00:00,但是newDate()得到的卻是:2011-08-31T00:00:00。表示java得到的時間比當前系統時間提前了8個小時,那麼我們就要想辦法把java得到的時間向後推遲8個小時。解決的辦法是:
1、找到你用的jre文件夾,以本機為例:C:\Program Files\Java\jdk1.5.0\jre
2、在上述文件夾下有個zi文件夾,我們的工作都在這里。
3、zi文件夾下有一個Etc文件夾,我們要做的工作就是從這個文件夾下找到對應的GMT文件替換zi下GMT文件。
4、選擇哪個文件呢?如果java獲取的時間+N=當前系統時間,就選擇GMT-N文件,重命名為GMT,覆蓋掉zi下的GMT文件,如果java獲取的時間-N=當前系統時間,就選擇GMT+N文件,重命名為GMT,覆蓋掉zi下的GMT文件。
5、再運行一下你的程序看時間是不是正確了,如果還是不正確,請確認你的jre目錄是否選得正確。

『肆』 java 分別 取昨天零點 和 二十四點

new date()獲取當前系統時間,在設置小時,分鍾,秒數位0點的,轉化為毫秒數,減去24小時的毫秒數,再轉化成時間對象,就是的了,第二個同樣

『伍』 java怎麼取下一天的零點

//取當前時間的下一日期整點 供參考
SimpleDateFormat format = null;
Date date = null;
Calendar myDate = Calendar.getInstance();
myDate.add(Calendar.DAY_OF_MONTH, 1);
date = myDate.getTime();
format = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
String rtnYes = format.format(date);
System.out.println(rtnYes);

『陸』 java如何在每一天的凌晨00:00:00自動運行程序

LZ指的是定時任務吧
在java裡面做定時任務通常是線程的
下面有個簡單的定時任務(沒驗證是否好使 但基本是這個樣子的)
在web.xml裡面增加一個監聽
<listener>
<listener-class>CountListen</listener-class>
</listener>
具體代碼如下
import javax.servlet.ServletContextListener;
import javax.servlet.ServletContextEvent;
import java.util.*;

public class CountListen
implements ServletContextListener {
private java.util.Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
event.getServletContext().log("定時器已啟動");
System.out.println("定時器已啟動");
Date date = new Date(1900,1,1,23,59);
timer.schele(new SampleTask(event.getServletContext()),0,
24 * 60 * 60 * 1000);
event.getServletContext().log("已經添加任務調度表");
System.out.println("已經添加任務調度表");
}

public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
event.getServletContext().log("定時器銷毀");
}
}

import java.util.*;
import javax.servlet.ServletContext;
import com.founder.gongan.util.ConfigPropertie;
import com.founder.gongan.manage.CountManager;
import com.founder.botong.entity.EnumFolder;

class SampleTask
extends TimerTask {
private static boolean isRunning = true;
private ServletContext context = null;
public SampleTask(ServletContext context) {
this.context = context;
}

public void run() {
if (isRunning) {
isRunning = false;
context.log("開始執行指定任務");
System.out.println("開始執行指定任務");
//指定的任務......
isRunning = true;
context.log("指定任務執行結束");
System.out.println("指定任務執行結束");
}else {
context.log("上一次任務執行還未結束");
}
}

}

『柒』 java如何自己構造一個時間

//初始化一個時間。默認為當前時間。
Calendar c=Calendar.getInstance();
//在給這個時間設置你要的值。
//c.set(year, month, date)
c.set(2008, 2, 18, 0, 0);
//c.set(year, month, date, hourOfDay, minute, second)

Date d=c.getTime();
//輸出當前自己設置的時間的前14位
System.out.println(d.toLocaleString().substring(0,14));

『捌』 java quartz 如何配置, 兩天執行一次,且0點執行

如果你是直接寫的代碼設置時間的,可以設置每48小時,翻翻API就有了,既然你問了,肯定是通過XML配置文件寫的,那隻能給一個解決方案了,在配置文件中雖然有0 0 0 1/2 * ? 來表示從每月1號起每2天0點0分0秒執行一次,但遇到31這樣的月份就會錯,不建議使用。

想到的解決方案有2種,一種設置成每天跑一次,定義個static boolean變數 第一次執行的時候改成false並執行,第2天的執行獲取該值,發現是false把值變成true不執行,發現是true改成false執行。
第2種方法其實是為了防止項目被重啟static變數重置的,這個boolean值(或者你自定義的標示符)放到資料庫里,沒天執行的時候讀一下庫。當然在指定位置生成一個空文件,每次執行判斷該位置的文件是否存在也一樣(覆蓋項目的時候記得,如果這個文件有復制到相關位置就好了)

『玖』 java取下一天的零點,求大神幫忙不勝感激!

private Date getTimeOf12() {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.add(Calendar.DAY_OF_MONTH, 1);
return cal.getTime();
}

試試 這個

『拾』 Java時間為什麼從1970

java起源於UNIX系統,而UNIX認為1970年1月1日0點是時間紀元.最初計算機操作系統是32位,而時間也是用32位表示。因為用32位來表示時間的最大間隔是68年,而最早出現的UNIX操作系統考慮到計算機產生的年代和應用的時限綜合取了1970年1月1日作為UNIX TIME的紀元時間(開始時間),而java自然也遵循了這一約束。

閱讀全文

與java0點時間相關的資料

熱點內容
考駕照怎麼找伺服器 瀏覽:882
阿里雲伺服器如何更換地區 瀏覽:970
手機app調音器怎麼調古箏 瀏覽:501
銳起無盤系統在伺服器上需要設置什麼嗎 瀏覽:17
紅旗計程車app怎麼應聘 瀏覽:978
如何編寫linux程序 瀏覽:870
吉利車解壓 瀏覽:248
java輸入流字元串 瀏覽:341
安卓軟體沒網怎麼回事 瀏覽:785
dvd壓縮碟怎麼導出電腦 瀏覽:274
冒險島什麼伺服器好玩 瀏覽:541
如何在伺服器上做性能測試 瀏覽:793
命令序列錯 瀏覽:259
javaif的條件表達式 瀏覽:576
手機app上傳的照片怎麼找 瀏覽:531
雲伺服器面臨哪些威脅 瀏覽:748
c語言各種編譯特點 瀏覽:177
路由器多種加密方法 瀏覽:604
程序員阻止電腦自動彈出定位 瀏覽:168
如何做伺服器服務商 瀏覽:762