JAVA经常要用到取时间,不管是做判断,分析,还是报表数据,正面是两个方法,第一个getSecond()两个参数分别是两个日期型数据,返回值为两个日期间隔的毫秒数,第二个方法getBeapartDate()参数为一个LONG型数据,也就是毫秒数由此得到相隔的具体时间差,返回值为X天X时X分X秒,
如:
[img]F:\QQ截图未命名9.jpg[/img]
如:
[img]F:\QQ截图未命名9.jpg[/img]
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class testTime {
/**
* @param args
* @throws ParseException
*/
/**
* 根据所给日期返回两日期相差的秒数
* @param d1
* @param d2
* @return 返回两个日期间隔的毫秒数
*/
public static long getSecond(Date d1,Date d2)
{
long a1 = d1.getTime();
long a2 = d2.getTime();
long a3 = (a1 - a2)/1000;
return a3;
}
/**
* 根据所秒数,计算相差的时间并以**时**分**秒返回
* @param d1
* @param d2
* @return
*/
public static String getBeapartDate(long m)
{
String beapartdate="";
int nDay = (int)m/(24*60*60);
int nHour = (int)(m-nDay*24*60*60)/(60*60);
int nMinute = (int)(m-nDay*24*60*60-nHour*60*60)/60;
int nSecond = (int)m-nDay*24*60*60-nHour*60*60-nMinute*60;
beapartdate = nDay +"天"+nHour+"小时"+nMinute+"分"+nSecond+"秒";
return beapartdate;
}
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException
{
Date now=new Date();
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
java.util.Date end = f.parse("2009-10-09 16:12:11");
java.util.Date begin= f.parse("2009-09-09 10:10:10");
String xx = getBeapartDate(getSecond(end,begin));
System.out.println(xx);
}
}