你可以在開(kāi)始和結(jié)束的時(shí)候,分別記錄下當(dāng)前的時(shí)間的這毫秒數(shù)。然后再減,以下是一段代碼。
讓客戶(hù)滿意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、鹽亭網(wǎng)站維護(hù)、網(wǎng)站推廣。
public
class
Test{
public
static
void
main(String[]
args)
{
long
startMili=System.currentTimeMillis();//
當(dāng)前時(shí)間對(duì)應(yīng)的毫秒數(shù)
System.out.println("開(kāi)始
"+startMili);
//
執(zhí)行一段代碼,求一百萬(wàn)次隨機(jī)值
for(int
i=0;i1000000;i++){
Math.random();
}
long
endMili=System.currentTimeMillis();
System.out.println("結(jié)束
s"+endMili);
System.out.println("總耗時(shí)為:"+(endMili-startMili)+"毫秒");
}
}
可以這么寫(xiě):
public?static?void?compute()?{
Scanner?scanner?=?new?Scanner(System.in);
int?time1,?time2,?hours,?minutes;
time1?=?scanner.nextInt();
time2?=?scanner.nextInt();
String?t1?=?String.valueOf(time1);
String?t2?=?String.valueOf(time2);
//開(kāi)始時(shí)間的小時(shí)
int?t1_hour?=?Integer.parseInt(t1.substring(0,?t1.length()-2));
//結(jié)束時(shí)間的小時(shí)
int?t2_hour?=?Integer.parseInt(t2.substring(0,?t2.length()?-?2));
//開(kāi)始時(shí)間的分鐘
int?t1_minute?=?Integer.parseInt(t1.substring(t1.length()-2));
//結(jié)束時(shí)間的分鐘
int?t2_minute?=?Integer.parseInt(t2.substring(t2.length()?-?2));
//時(shí)間差的小時(shí)
hours?=((t2_hour?*?60?+?t2_minute)-?(t1_hour?*?60?+?t1_minute))/60;
//時(shí)間差的分鐘
minutes?=((t2_hour?*?60?+?t2_minute)-?(t1_hour?*?60?+?t1_minute))%60;
System.out.println("The?train?journey?time?is?"+hours+"?hrs?"+?minutes+"?mins.");
scanner.close();
}
如果今天是2011年1月5日,先引入import java.util.Date;import java.text.SimpleDateFormat;
Date time=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(time);//日歷為今天
long tm,tm1;
tm=cal.getTimeInMillis();//得到當(dāng)前時(shí)間與1970年1月1日0點(diǎn)相距的毫秒數(shù)
tm1=tm-(24*60*60*1000);//得到昨天與1970年1月1日0點(diǎn)相距的毫秒數(shù)
Date time1=new Date(tm1);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String tm=sdf.format(time1);//tm就是昨天的日期的字符串表示
提供一個(gè)時(shí)間操作類(lèi)給你,你可以調(diào)用里面的dateDiff方法,dateDiff(new Date(), getDateFromString("明天的字符串")表示的就是現(xiàn)在到明天0點(diǎn)之前的差距天數(shù)。
你要分鐘數(shù)的話就自己改一下dateDiff,不要除以60和24就是分鐘了
以下是工具類(lèi)代碼
import?org.apache.log4j.Logger;
import?java.text.ParseException;
import?java.text.SimpleDateFormat;
import?java.util.Calendar;
import?java.util.Date;
public?class?AdDateUtil?{
private?static?Logger?logger?=?Logger.getLogger(AdDateUtil.class);
static?public?String?getNowStr(String?format)?{
SimpleDateFormat?sdf?=?new?SimpleDateFormat(format);
String?now?=?sdf.format(new?Date());
return?now;
}
static?public?Date?getFormatDate(String?date,?String?format)?{
SimpleDateFormat?sdf?=?new?SimpleDateFormat(format);
Date?d?=?new?Date();
try?{
d?=?sdf.parse(date);
}?catch?(ParseException?e)?{
logger.error(e);
}
return?d;
}
static?public?String?getDateStr(Date?date,?String?format)?{
SimpleDateFormat?sdf?=?new?SimpleDateFormat(format);
String?d?=?sdf.format(date);
return?d;
}
static?public?String?getPadZeroString(String?s,?int?size)?{
StringBuffer?sb?=?new?StringBuffer();
for?(int?i?=?0;?i??(size?-?s.length());?i++)?{
sb.append("0");
}
sb.append(s);
return?sb.toString();
}
/**
*?得到某月的天數(shù)
*
*?@param?year
*?@param?month
*?@return
*/
static?public?int?getDayCountOfMonth(String?year,?String?month)?{
Calendar?cal?=?Calendar.getInstance();
//?年
cal.set(Calendar.YEAR,?Integer.parseInt(year));
//?月,因?yàn)镃alendar里的月是從0開(kāi)始,所以要-1
cal.set(Calendar.MONTH,?Integer.parseInt(month)?-?1);
return?cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}
static?public?String?getYesterday(String?format)?{
SimpleDateFormat?df?=?new?SimpleDateFormat(format);
Calendar?now?=?Calendar.getInstance();
now.roll(Calendar.DAY_OF_YEAR,?-1);?//昨天
return?df.format(now.getTime());
}
/**
*?獲取和今天附近的某天
*?@param?format
*?@param?diff
*?@return
*/
static?public?String?getADay(String?format,?int?diff)?{
SimpleDateFormat?df?=?new?SimpleDateFormat(format);
Calendar?now?=?Calendar.getInstance();
int?beforeM?=?now.get(Calendar.MONTH);
now.roll(Calendar.DAY_OF_YEAR,?diff);?//
int?nowM?=?now.get(Calendar.MONTH);
//必須進(jìn)行日期處理,否則2009-01-04日前七天是2009-12-28
if?(nowM??beforeM)?{
now.roll(Calendar.YEAR,?-1);
}
return?df.format(now.getTime());
}
static?public?String?getTomorrow(String?format)?{
SimpleDateFormat?df?=?new?SimpleDateFormat(format);
Calendar?now?=?Calendar.getInstance();
now.roll(Calendar.DAY_OF_YEAR,?1);?//明天
return?df.format(now.getTime());
}
/**
*?得到最近num天的全部日期
*?說(shuō)明:
*?1.日期是從昨天開(kāi)始算的.
*?2.如果num=2?,?日期是2008-03-14?,則返回的結(jié)果為?2008-03-12、2008-03-13
*?@param?num
*?@return
*/
public?static?String[]?getDaysByNum(int?num,?String?date)?{
SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd");
String[]?result?=?{??};
Calendar?cal?=?Calendar.getInstance();
cal.setTime(getDateFromString(date,?"yyyy-MM-dd"));
//最近一周
result?=?new?String[num];
for?(int?i?=?num;?i??0;?i--)?{
cal.add(Calendar.DAY_OF_YEAR,?-1);
result[i?-?1]?=?sdf.format(new?Date(cal.getTimeInMillis()));
}
return?result;
}
public?static?Date?getDateFromString(String?dateStr,?String?format)?{
if?((dateStr?==?null)?||?(format?==?null))?{
try?{
throw?new?Exception("數(shù)據(jù)類(lèi)型異常"?+?dateStr?+?"|"?+?format);
}?catch?(Exception?e)?{
logger.error("數(shù)據(jù)類(lèi)型異常:"?+?e);
}
}
SimpleDateFormat?df?=?new?SimpleDateFormat(format);
Date?date;
try?{
date?=?df.parse(dateStr);
return?date;
}?catch?(Exception?ex)?{
logger.error(ex);
return?new?Date();
}
}
static?public?int?getNowYear()?{
Calendar?cal?=?Calendar.getInstance();
return?cal.get(Calendar.YEAR);
}
static?public?int?getNowMonth()?{
Calendar?cal?=?Calendar.getInstance();
return?cal.get(Calendar.MONTH)?+?1;
}
public?static?String[]?getMonthRang(String?year,?String?month)?{
String?beginDate?=?year?+?"-"?+?month?+?"-01";
String?endDate?=?year?+?"-"?+?month?+?"-"?+
getDayCountOfMonth(year,?month);
return?getDaysByRang(beginDate,?endDate);
}
public?static?String[]?getDaysByRang(String?beginDate,?String?endDate)?{
SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd");
//得到兩個(gè)日期間相差多少天
int?num?=?dateDiff(beginDate,?endDate);
if?(num??0)?{
//顛倒一下日期
String?tmp?=?beginDate;
beginDate?=?endDate;
endDate?=?tmp;
num?=?0?-?num;
}
String[]?result?=?{??};
Calendar?cal?=?Calendar.getInstance();
try?{
cal.setTime(sdf.parse(beginDate));
}?catch?(ParseException?e)?{
e.printStackTrace();
}
num?=?num?+?1;?//把開(kāi)始和結(jié)束日期都包含進(jìn)去
result?=?new?String[num];
for?(int?i?=?0;?i??num;?i++)?{
if?(i??0)?{
cal.add(Calendar.DAY_OF_YEAR,?1);
}
result[i]?=?sdf.format(new?Date(cal.getTimeInMillis()));
}
return?result;
}
public?static?int?dateDiff(String?beginDate,?String?endDate)?{
SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd");
Date?date?=?null;
try?{
date?=?sdf.parse(endDate);
}?catch?(ParseException?e)?{
date?=?new?Date();
e.printStackTrace();
}
long?end?=?date.getTime();
try?{
date?=?sdf.parse(beginDate);
}?catch?(ParseException?e)?{
date?=?new?Date();
e.printStackTrace();
}
long?begin?=?date.getTime();
long?day?=?(end?-?begin)?/?(1000?*?3600?*?24);?//除1000是把毫秒變成秒
return?Integer.parseInt(Long.toString(day));
}
public?static?void?main(String[]?args)?{
System.out.println(AdDateUtil.getADay("yyyy-MM-dd",?-7));
}
}
文章標(biāo)題:java計(jì)算算法時(shí)間代碼,Java計(jì)算時(shí)間間隔
標(biāo)題URL:http://sd-ha.com/article40/hdhieo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站、用戶(hù)體驗(yàn)、云服務(wù)器、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)