?? datetransform.java
字號:
package base.util;
import java.util.Calendar;
import java.util.Date;
public class DateTransform {
public static final int MILLISECOND=0;
public static final int SECOND=1;
public static final int MINUTE=2;
public static final int HOUR=3;
//此方法返回兩個時間間隔,精確到毫秒
@SuppressWarnings("deprecation")
public static long getDateInterval(String bakTime,String curTime){
String bdt1[]=bakTime.substring(0,bakTime.indexOf(" ")).split("-");
String bdt2[]=bakTime.substring(bakTime.indexOf(" ")+1,bakTime.length()).split(":");
String cdt1[]=curTime.substring(0,curTime.indexOf(" ")).split("-");
String cdt2[]=curTime.substring(curTime.indexOf(" ")+1,curTime.length()).split(":");
Calendar c1=Calendar.getInstance();
Calendar c2=Calendar.getInstance();
c1.setTime(new Date(
Integer.parseInt(bdt1[0]),
Integer.parseInt(bdt1[1]),
Integer.parseInt(bdt1[2]),
Integer.parseInt(bdt2[0]),
Integer.parseInt(bdt2[1]),
Integer.parseInt(bdt2[2])));
c2.setTime(new Date(
Integer.parseInt(cdt1[0]),
Integer.parseInt(cdt1[1]),
Integer.parseInt(cdt1[2]),
Integer.parseInt(cdt2[0]),
Integer.parseInt(cdt2[1]),
Integer.parseInt(cdt2[2])));
long a=c1.getTime().getTime();
long b=c2.getTime().getTime();
return b-a;
}
// 此方法返回兩個時間間隔,精確到毫秒,參數是java.util.Date類型
public static long getDateInterval(Date bakTime,Date curTime){
long a=bakTime.getTime();
long b=curTime.getTime();
return b-a;
}
// 此方法返回兩個時間間隔,精確到毫秒,參數是java.util.Calendar類型
public static long getDateInterval(java.util.Calendar bakTime,java.util.Calendar curTime){
return getDateInterval(bakTime.getTime(),curTime.getTime());
}
//返回當前時間離下一個整點/整分/整秒 還有多少毫秒
public static long getNextInterval(int type){
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = (Calendar)calendar1.clone();
switch(type)
{
case DateTransform.SECOND:
calendar2.add(Calendar.SECOND,1);
calendar2.set(Calendar.MILLISECOND,0);
break;
case DateTransform.MINUTE:
calendar2.add(Calendar.MINUTE,1);
calendar2.set(Calendar.SECOND, 0);
calendar2.set(Calendar.MILLISECOND,0);
break;
case DateTransform.HOUR:
calendar2.add(Calendar.HOUR,1);
calendar2.set(Calendar.MINUTE, 0);
calendar2.set(Calendar.SECOND, 0);
calendar2.set(Calendar.MILLISECOND, 0);
break;
}
return getDateInterval(calendar1.getTime(),calendar2.getTime());
}
//返回一個當前時間的標準格式,如"2007-01-05 13:00:11"
public static String getStandardTime(){
Calendar expdate = Calendar.getInstance();
java.util.Date date = expdate.getTime();
java.sql.Time nowTime = new java.sql.Time(date.getTime());
java.sql.Date nowDate = new java.sql.Date(date.getTime());
return nowDate.toString()+" "+nowTime.toString();
}
// 獲取每月的天數,如2007-2月,用此方法則返回28
private static int getDays(int year,int month){
switch(month){
case 1:
return 31;
case 2:
return year%400==0 ||(year%4==0 && year%100!=0)?29:28;
case 3:
return 31;
case 4:
return 30;
case 5:
return 31;
case 6:
return 30;
case 7:
return 30;
case 8:
return 31;
case 9:
return 30;
case 10:
return 31;
case 11:
return 30;
case 12:
return 31;
}
return -1;
}
//獲取今天最早時刻
public static Date getBeginTime() {
Calendar rightNow = Calendar.getInstance();
rightNow.set(Calendar.HOUR_OF_DAY, 23);
rightNow.set(Calendar.MINUTE, 59);
rightNow.set(Calendar.SECOND, 59);
rightNow.set(Calendar.MILLISECOND, 999);
return rightNow.getTime();
}
// 獲取今天最晚時刻
public static Date getEndTime() {
Calendar rightNow = Calendar.getInstance();
rightNow.set(Calendar.HOUR_OF_DAY, 0);
rightNow.set(Calendar.MINUTE, 0);
rightNow.set(Calendar.SECOND, 0);
rightNow.set(Calendar.MILLISECOND, 0);
return rightNow.getTime();
}
//main method
public static void main(String[] args) {
String bakTime="2007-01-05 13:00:11";
String curTime="2007-01-05 13:01:40";
System.out.println("1.時間差是: "+getDateInterval(bakTime,curTime)+"毫秒");
System.out.println("2.當前時間:"+getStandardTime());
System.out.println("3.距下一個整點還有多少毫秒:"+getNextInterval(DateTransform.HOUR));
System.out.println("4.距下一個整分還有多少毫秒:"+getNextInterval(DateTransform.MINUTE));
System.out.println("5.距下一個整秒還有多少毫秒:"+getNextInterval(DateTransform.SECOND));
System.out.println("2007年2月有多少天:"+getDays(2007,2));
System.out.println("今天最早時刻 = " + getBeginTime());
System.out.println("今天最晚時刻 = " + getEndTime());
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -