提供一個時間操作類給你,你可以調(diào)用里面的dateDiff方法,dateDiff(new Date(), getDateFromString("明天的字符串")表示的就是現(xiàn)在到明天0點之前的差距天數(shù)。
成都網(wǎng)站設(shè)計、做網(wǎng)站的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)一個展示的機(jī)會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。
你要分鐘數(shù)的話就自己改一下dateDiff,不要除以60和24就是分鐘了
以下是工具類代碼
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));
//?月,因為Calendar里的月是從0開始,所以要-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天的全部日期
*?說明:
*?1.日期是從昨天開始算的.
*?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ù)類型異常"?+?dateStr?+?"|"?+?format);
}?catch?(Exception?e)?{
logger.error("數(shù)據(jù)類型異常:"?+?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");
//得到兩個日期間相差多少天
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;?//把開始和結(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));
}
}
最簡單的就是直接獲取開始時間、結(jié)束時間,計算時間差
public?class?Demo?{
public?static?void?main(String[]?args)?{
long?startTime?=?System.currentTimeMillis();????//獲取開始時間
doSomething();????//測試的代碼段
long?endTime?=?System.currentTimeMillis();????//獲取結(jié)束時間
System.out.println("程序運行時間:"?+?(endTime?-?startTime)?+?"ms");????//輸出程序運行時間
}
}
此方法為 Java 內(nèi)置的方法,使用 System.currentTimeMillis 來執(zhí)行統(tǒng)計的時間(統(tǒng)計單位:毫秒)(統(tǒng)計單位:毫秒),示例代碼如下:
public class TimeIntervalTest {
public static void main(String[] args) throws InterruptedException {
// 開始時間
long stime = System.currentTimeMillis();
// 執(zhí)行時間(1s)
Thread.sleep(1000);
// 結(jié)束時間
long etime = System.currentTimeMillis();
// 計算執(zhí)行時間
System.out.printf("執(zhí)行時長:%d 毫秒.", (etime - stime));
}
}
以上程序的執(zhí)行結(jié)果為:
執(zhí)行時長:1000 毫秒.
方法二:System.nanoTime
此方法為 Java 內(nèi)置的方法,使用 System.nanoTime 來統(tǒng)計執(zhí)行時間(統(tǒng)計單位:納秒),它的執(zhí)行方法
分享題目:java計算代碼時間 java怎么計算時間差
標(biāo)題鏈接:http://vcdvsql.cn/article34/doicppe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、全網(wǎng)營銷推廣、電子商務(wù)、移動網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)