導航:首頁 > 計算方法 > java計算方法時間

java計算方法時間

發布時間:2022-07-02 04:22:45

A. java如何計算程序運行時間

第一種是以毫秒為單位計算的。

[java]view plain

//偽代碼

longstartTime=System.nanoTime();//獲取開始時間

doSomeThing();//測試的代碼段

longendTime=System.nanoTime();//獲取結束時間

System.out.println("程序運行時間:"+(end-start)+"ns");

包含所需的包: import java.lang.System;

B. java類裡面怎麼計算時間

用Calendar類裡面的add(int field, int amount) 方法進行時間的計算。示例代碼如下:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class TestCalendar {

public static void main(String[] args){
Calendar c = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
c.setTime(format.parse("2011-08-05 14:49:45"));
System.out.println("原來的時間:"+format.format(c.getTime()));
c.add(Calendar.MINUTE,20);
System.out.println("計算後得到的時間:"+format.format(c.getTime()));
} catch (ParseException e) {
e.printStackTrace();
}
}
}

C. Java時間計算

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class test2
{
public static void main(String[] args)
{
calculateDate();
}
public static void calculateDate()
{
Calendar cal = Calendar.getInstance();
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入1個日期(yyyy-MM-dd格式):");
String date1 = scanner.next();
//以「-」分離字元串
String[] s1 = date1.split("-");
String year1 = s1[0];//獲取年
String month1 = s1[1];//獲取月
String day1 = s1[2];//獲取日

cal.set(Integer.parseInt(year1), Integer.parseInt(month1) - 1, Integer.parseInt(day1));//月份是從0開始的,所以要減1

long time1 = cal.getTimeInMillis();//輸入日期的long值
long time2 = time1 - 20*1000*60*60*24 ;//20天前的long值 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(new Date(time2));

System.out.println("該日期前20天是:"+date);
}}

D. 計算Java程序執行時間的幾種方法

最簡單的就是直接獲取開始時間、結束時間,計算時間差

publicclassDemo{
publicstaticvoidmain(String[]args){
longstartTime=System.currentTimeMillis();//獲取開始時間

doSomething();//測試的代碼段

longendTime=System.currentTimeMillis();//獲取結束時間

System.out.println("程序運行時間:"+(endTime-startTime)+"ms");//輸出程序運行時間
}
}

E. java 怎麼計算程序運行的時間

long a=System.currentTimeMillis();
long b=System.currentTimeMillis();
a放在程序的開始
b放在結束,然後相減即是程序運行時間

F. java整么計算時間

提供一個時間操作類給你,你可以調用裡面的dateDiff方法,dateDiff(new Date(), getDateFromString("明天的字元串")表示的就是現在到明天0點之前的差距天數。

你要分鍾數的話就自己改一下dateDiff,不要除以60和24就是分鍾了

以下是工具類代碼

importorg.apache.log4j.Logger;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;

publicclassAdDateUtil{
privatestaticLoggerlogger=Logger.getLogger(AdDateUtil.class);

staticpublicStringgetNowStr(Stringformat){
SimpleDateFormatsdf=newSimpleDateFormat(format);
Stringnow=sdf.format(newDate());

returnnow;
}

staticpublicDategetFormatDate(Stringdate,Stringformat){
SimpleDateFormatsdf=newSimpleDateFormat(format);
Dated=newDate();

try{
d=sdf.parse(date);
}catch(ParseExceptione){
logger.error(e);
}

returnd;
}

staticpublicStringgetDateStr(Datedate,Stringformat){
SimpleDateFormatsdf=newSimpleDateFormat(format);
Stringd=sdf.format(date);

returnd;
}

(Strings,intsize){
StringBuffersb=newStringBuffer();

for(inti=0;i<(size-s.length());i++){
sb.append("0");
}

sb.append(s);

returnsb.toString();
}

/**
*得到某月的天數
*
*@paramyear
*@parammonth
*@return
*/
(Stringyear,Stringmonth){
Calendarcal=Calendar.getInstance();
//年
cal.set(Calendar.YEAR,Integer.parseInt(year));
//月,因為Calendar里的月是從0開始,所以要-1
cal.set(Calendar.MONTH,Integer.parseInt(month)-1);

returncal.getActualMaximum(Calendar.DAY_OF_MONTH);
}

(Stringformat){
SimpleDateFormatdf=newSimpleDateFormat(format);

Calendarnow=Calendar.getInstance();
now.roll(Calendar.DAY_OF_YEAR,-1);//昨天

returndf.format(now.getTime());
}

/**
*獲取和今天附近的某天
*@paramformat
*@paramdiff
*@return
*/
staticpublicStringgetADay(Stringformat,intdiff){
SimpleDateFormatdf=newSimpleDateFormat(format);

Calendarnow=Calendar.getInstance();
intbeforeM=now.get(Calendar.MONTH);
now.roll(Calendar.DAY_OF_YEAR,diff);//

intnowM=now.get(Calendar.MONTH);

//必須進行日期處理,否則2009-01-04日前七天是2009-12-28
if(nowM>beforeM){
now.roll(Calendar.YEAR,-1);
}

returndf.format(now.getTime());
}

staticpublicStringgetTomorrow(Stringformat){
SimpleDateFormatdf=newSimpleDateFormat(format);

Calendarnow=Calendar.getInstance();
now.roll(Calendar.DAY_OF_YEAR,1);//明天

returndf.format(now.getTime());
}

/**
*得到最近num天的全部日期
*說明:
*1.日期是從昨天開始算的.
*2.如果num=2,日期是2008-03-14,則返回的結果為2008-03-12、2008-03-13
*@paramnum
*@return
*/
publicstaticString[]getDaysByNum(intnum,Stringdate){
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
String[]result={};
Calendarcal=Calendar.getInstance();
cal.setTime(getDateFromString(date,"yyyy-MM-dd"));

//最近一周
result=newString[num];

for(inti=num;i>0;i--){
cal.add(Calendar.DAY_OF_YEAR,-1);
result[i-1]=sdf.format(newDate(cal.getTimeInMillis()));
}

returnresult;
}

(StringdateStr,Stringformat){
if((dateStr==null)||(format==null)){
try{
thrownewException("數據類型異常"+dateStr+"|"+format);
}catch(Exceptione){
logger.error("數據類型異常:"+e);
}
}

SimpleDateFormatdf=newSimpleDateFormat(format);
Datedate;

try{
date=df.parse(dateStr);

returndate;
}catch(Exceptionex){
logger.error(ex);

returnnewDate();
}
}

staticpublicintgetNowYear(){
Calendarcal=Calendar.getInstance();

returncal.get(Calendar.YEAR);
}

staticpublicintgetNowMonth(){
Calendarcal=Calendar.getInstance();

returncal.get(Calendar.MONTH)+1;
}

publicstaticString[]getMonthRang(Stringyear,Stringmonth){
StringbeginDate=year+"-"+month+"-01";
StringendDate=year+"-"+month+"-"+
getDayCountOfMonth(year,month);

returngetDaysByRang(beginDate,endDate);
}

publicstaticString[]getDaysByRang(StringbeginDate,StringendDate){
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");

//得到兩個日期間相差多少天
intnum=dateDiff(beginDate,endDate);

if(num<0){
//顛倒一下日期
Stringtmp=beginDate;
beginDate=endDate;
endDate=tmp;
num=0-num;
}

String[]result={};
Calendarcal=Calendar.getInstance();

try{
cal.setTime(sdf.parse(beginDate));
}catch(ParseExceptione){
e.printStackTrace();
}

num=num+1;//把開始和結束日期都包含進去

result=newString[num];

for(inti=0;i<num;i++){
if(i>0){
cal.add(Calendar.DAY_OF_YEAR,1);
}

result[i]=sdf.format(newDate(cal.getTimeInMillis()));
}

returnresult;
}

publicstaticintdateDiff(StringbeginDate,StringendDate){
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
Datedate=null;

try{
date=sdf.parse(endDate);
}catch(ParseExceptione){
date=newDate();
e.printStackTrace();
}

longend=date.getTime();

try{
date=sdf.parse(beginDate);
}catch(ParseExceptione){
date=newDate();
e.printStackTrace();
}

longbegin=date.getTime();

longday=(end-begin)/(1000*3600*24);//除1000是把毫秒變成秒

returnInteger.parseInt(Long.toString(day));
}

publicstaticvoidmain(String[]args){
System.out.println(AdDateUtil.getADay("yyyy-MM-dd",-7));
}
}

G. java計算時間

可以這么寫:


publicstaticvoidcompute(){
Scannerscanner=newScanner(System.in);
inttime1,time2,hours,minutes;
time1=scanner.nextInt();
time2=scanner.nextInt();
Stringt1=String.valueOf(time1);
Stringt2=String.valueOf(time2);
//開始時間的小時
intt1_hour=Integer.parseInt(t1.substring(0,t1.length()-2));
//結束時間的小時
intt2_hour=Integer.parseInt(t2.substring(0,t2.length()-2));
//開始時間的分鍾
intt1_minute=Integer.parseInt(t1.substring(t1.length()-2));
//結束時間的分鍾
intt2_minute=Integer.parseInt(t2.substring(t2.length()-2));
//時間差的小時
hours=((t2_hour*60+t2_minute)-(t1_hour*60+t1_minute))/60;
//時間差的分鍾
minutes=((t2_hour*60+t2_minute)-(t1_hour*60+t1_minute))%60;
System.out.println("Thetrainjourneytimeis"+hours+"hrs"+minutes+"mins.");
scanner.close();
}

H. Java計算兩個日期時間相差幾天,幾小時,幾分鍾等

思路是先計算兩個日期相差的毫秒數,然後分別根據每天的毫秒數、每小時的毫秒數、每分鍾的毫秒數來計算相差幾天,幾小時,幾分鍾。具體代碼如下:

public static String getDatePoor(Date endDate, Date nowDate) {

long nd = 1000 * 24 * 60 * 60;//每天毫秒數

long nh = 1000 * 60 * 60;//每小時毫秒數

long nm = 1000 * 60;//每分鍾毫秒數

long diff = endDate.getTime() - nowDate.getTime();// 獲得兩個時間的毫秒時間差異

long day = diff / nd; // 計算差多少天

long hour = diff % nd / nh;// 計算差多少小時

long min = diff % nd % nh / nm; // 計算差多少分鍾

return day + "天" + hour + "小時" + min + "分鍾";

}

然後做一個測試,調用這個方法測試一下:

可以看出兩個日期時間相差幾天,幾小時,幾分鍾都可以算出來。

(8)java計算方法時間擴展閱讀:

Java使用以下三種方法來比較兩個日期:

1、使用 getTime() 方法獲取兩個日期(自1970年1月1日經歷的毫秒數值),然後比較這兩個值。

2、使用方法 before(),after() 和 equals()。例如,一個月的12號比18號早,則 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。

3、使用 compareTo() 方法,它是由 Comparable 介面定義的,Date 類實現了這個介面。

I. java如何計算日期的加減

第一種,知道日期,如2019091109144
String str=txnTime;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date dt = null;
try {
dt = sdf.parse(str);
} catch (ParseException e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期減1年
rightNow.add(Calendar.MONTH,3);//日期加3個月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
rightNow.add(Calendar.SECOND,60);//日期加60秒天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
第二種,自己獲取時間,格式化輸出計算加減
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化輸出日期
Date now = new Date();
long time = 60*1000;//60秒
Date afterDate = new Date(now .getTime() + time);//60秒後的時間
Date beforeDate = new Date(now .getTime() - time);//60秒前的時間
System.out.println(sdf.format(afterDate ));

J. Java中怎樣計算一個方法的運行時間,不要以為我的問題很2,仔細想想

1.取時間
2.執行方法
3.取時間
4.計算兩次時間差

閱讀全文

與java計算方法時間相關的資料

熱點內容
腰椎間盤突出的診斷和治療方法 瀏覽:199
企業收益計算方法 瀏覽:83
蘋果設備共享從哪裡設置方法 瀏覽:798
高空作業坐板使用方法 瀏覽:161
家庭黃瓜的種植方法 瀏覽:111
傾斜角檢測裝置和傾斜角檢測方法 瀏覽:519
幔簾安裝方法 瀏覽:255
下山最簡單的方法 瀏覽:771
電子經緯儀快速安裝方法 瀏覽:361
egg摩絲洗面奶使用方法 瀏覽:260
故障碼讀取與清除方法常用萬用表 瀏覽:751
流量共享怎麼使用方法 瀏覽:375
滾筒洗衣機搖晃怎麼解決方法 瀏覽:509
半水調漂方法視頻 瀏覽:373
kindle使用方法說明書 瀏覽:854
油畫無痕掛鉤使用方法 瀏覽:839
幼兒貼肚臍貼的正確方法 瀏覽:47
內開窗安裝方法 瀏覽:565
質性研究主題分析方法 瀏覽:448
汽車提速異響解決方法 瀏覽:489