A. java 怎麼獲取當前時間前一個小時的時間
代碼復如下:Calendar c = Calendar.getInstance();//可以對每制個時間域單獨修改
c.setTime(new Date());
c.set(Calendar.HOUR_OF_DAY, c.get(Calendar.HOUR_OF_DAY) - 1);
這幾步即可獲得當前時間前一個小時
B. java 如何獲得 每天8點這一時刻的long值
java 每天獲得8點這一時刻的long值,主要是使用timer類,來每隔一天執行,進行調度,如下代碼:
packagecom.qiu.lin.he;
importjava.util.Calendar;
importjava.util.Timer;
importjava.util.TimerTask;
publicclassCeshi{
publicstaticvoidmain(String[]args){
Timertimer=newTimer();//新建Timer類
Calendarcal=Calendar.getInstance();
//每天定點執行
cal.set(Calendar.HOUR_OF_DAY,8);
cal.set(Calendar.MINUTE,0);
cal.set(Calendar.SECOND,0);
timer.schele(newTimerTask(){//每天執行輸出時間
@Override
publicvoidrun(){
System.out.println(System.currentTimeMillis());
}
},cal.getTime(),24*60*60*1000);
}
}
運行結果如下:
C. java 分別 取昨天零點 和 二十四點
// 獲得當天0點時間
public static Date getTimesmorning() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
// 獲得當天24點時間
public static Date getTimesnight() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 24);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
D. java如何根據日期自動編號
要根據時間生成編號,首先要知道編號的方式,比如只是把時間中的符號去掉可以使用SimpleDateFromat這個類
//其實有很多情況都可以用它解決,只需要改其中的格式
//大概是這樣,手寫的代碼
Stringbh=newSimpleDateFormate("yyyyMMddHHmmss").format(newDate());
//得到201806061331
如果需要復雜點的,可以使用Calendar這個類,獲取需要編號的數據進行編號
Calendarc=Calendar.getInstance();
c.setTime(newDate());
//通過get方法獲取具體的值,年、月、日、時、分、秒、星期等
c.get(Calendar.HOUR_OF_DAY);//獲得小時,其他的常量可以在官方API查找,或者網路【Calendar.java常量】
E. 在java中Calendar.HOUR_OF_DAY返回的是一個什麼時間,
獲取當前時間,然後set到Calendar里邊,然後從里邊獲取的是當前時間的東西,
如果你set的date是你自己給定的,那麼獲取到的就是你給定的date。
F. java 中cal.get(Calendar.HOUR_OF_DAY) 取小時 如果是中午12點取值為0 我怎麼樣才能取到12
cal.get(Calendar.HOUR_OF_DAY) 取的就是24時鍾數
cal.get(Calendar.HOUR) 取的就是12時鍾數
看一下它們的注釋就清楚了。
/**
* Field number for <code>get</code> and <code>set</code> indicating the
* hour of the morning or afternoon. <code>HOUR</code> is used for the
* 12-hour clock (0 - 11). Noon and midnight are represented by 0, not by 12.
* E.g., at 10:04:15.250 PM the <code>HOUR</code> is 10.
*
* @see #AM_PM
* @see #HOUR_OF_DAY
*/
public final static int HOUR = 10;
/**
* Field number for <code>get</code> and <code>set</code> indicating the
* hour of the day. <code>HOUR_OF_DAY</code> is used for the 24-hour clock.
* E.g., at 10:04:15.250 PM the <code>HOUR_OF_DAY</code> is 22.
*
* @see #HOUR
*/
public final static int HOUR_OF_DAY = 11;
如果使用的是cal.get(Calendar.HOUR),可能通過cal.get(Calendar.AM_PM)的返回值來判斷是上午還是下午,如果返回0,則是上午,如果返回1,則是下午。判斷的時候,最好用類定義的常量來比較。
if(Calendar.AM==cal.get(Calendar.AM_PM)){
//上午
}else /*if(Calendar.PM==cal.get(Calendar.AM_PM))*/{
//下午
}
G. 求java怎麼實現每循環一次時間增加一個小時並且有天數的增長
Calendar begin=Calendar.getInstance();
begin.setTime(....);//給定起始時間
//比如100小時
for(int i=0;i<100;i++){
//執行你的內操作
begin.add(Calendar.HOUR,1);//增加容了一小時
}
H. 問一下java裡面timestamp時間類型的怎麼比較大小,比如說我想判斷我的time是不是在18點以後,該怎麼寫
先轉成 Calendar, 再取其中的 HOUR_OF_DAY 這個域, 看是否大於 18
比如
Timestamp ts = new Timestamp(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();
cal.setTime(ts);
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
兩個 Timestamp 本身可以直接比, 它實現了 Comparable 介面的.
I. 在JSP中加入Java代碼獲得系統時間
1.獲取日期:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E");
Calendar cal = new GregorianCalendar(new Date());
System.out.println(sdf.format(cal.getTime()));//XX年XX月XX日,星期X
2.獲取小時
cal.get(Calendar.HOUR);//獲取出來小時,自己根據時專間設定去顯示「早上好屬」、「下午好」、「晚上好」