1. java里判斷某時間是不是在當天中
JAVA里判斷某時間是不是在當天的方法是:
把時間都轉換成毫秒數,知道了當天日期,你就可以獲取當天0點和第二天零點的毫秒數,打卡時間所對應的毫秒數在這兩者之間就可以了。
2. 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()方法用來計算延時數,不管什麼時候啟動服務,都可以根據當前系統時間和執行任務的開始時間計算出延時時間毫秒數。
雖然沒有分,還是希望能幫助你。 ^_^
3. java 分別 取昨天零點 和 二十四點
new date()獲取當前系統時間,在設置小時,分鍾,秒數位0點的,轉化為毫秒數,減去24小時的毫秒數,再轉化成時間對象,就是的了,第二個同樣
4. 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);
5. 在JAVA中如何判斷當前時間是不是整點
System.currentTimeMillis()產生一個當前的毫秒,這個毫秒其實就是自1970年1月1日0時起的毫秒數,用來計算當前毫秒與1970年1月1日之間的毫秒差。
那麼我們就可以longtime=System.currentTimeMillis();
然後換算一下小時,發現1小時等於3600s等於3600000ms。
那麼我們把這個long類型的time進行一次取余運算。
intmin=time%3600000;
那麼只要min的值小於一分鍾,即60000ms即可。
if(min<60000)System.out.println("當前時間為整點.");
elseprintln("非整點.");
整體簡化代碼如下:
if(System.currentTimeMillis()%3600000<60000)System.out.println("當前時間為整點.");
elseprintln("非整點.");
6. 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目錄是否選得正確。
7. Java 獲取當前時間的小時(24小時制)
使用new Date()獲取時間,通過SimpleDateFormat格式化類對Date進行格式話時間。
具體代碼如下:注意HH大寫代表24小時制。
輸出結果:1510416000000,2017-11-12。方便的實現了string轉時間的功能。
8. Java取當前時間
tomcat時間跟系統時間不一致的問題解決方法
摘自 -- 黑夜的博客
一,在catalina.bat中
配置如下:
set JAVA_OPTS=%JAVA_OPTS% -Duser.timezone=GMT+08 -Xms256m -Xmx800m
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
-Xms256m -Xmx800m(初始化內存大小為256m,可以使用的最大內存為800m),
-Duser.timezone=GMT+08 //設置為北京時間
二,在eclipse中設置
在 首選項->Tomcat ->JVM Settings 項,設定JRE的版本為'jre1.5.0_06',並且添加如下幾個JVM Parameters:
-Xms128m
-Xmx512m
-Dfile.encoding=UTF8
-Duser.timezone=GMT+08
9. 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();
}
試試 這個
10. 用java編寫獲取從1970年1月1日0時0分解析為當前的時間這個程序。
new
date(0),這個括弧里的0代表的就是自1970年。你定義的就是這個日期。要當前時間還是置空吧。
new
date();