亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java怎么獲取當(dāng)前時(shí)間、計(jì)算程序運(yùn)行時(shí)間源碼詳解(超詳細(xì)!)

 更新時(shí)間:2024年07月19日 08:33:14   作者:煎餅小狗  
有的時(shí)候,我們需要查看某一段代碼的性能如何,最為簡(jiǎn)單的方式,可以通過(guò)計(jì)算該段代碼執(zhí)行的耗時(shí),來(lái)進(jìn)行簡(jiǎn)單的判斷,這篇文章主要給大家介紹了關(guān)于Java怎么獲取當(dāng)前時(shí)間、計(jì)算程序運(yùn)行時(shí)間的相關(guān)資料,需要的朋友可以參考下

一、使用 System.currentTimeMillis()

這個(gè)方法的返回值為 long ,所以需要用 long 類(lèi)型的變量來(lái)接受。此方法優(yōu)勢(shì)是不受時(shí)區(qū)的影響,但是得到結(jié)果是時(shí)間戳的格式。

1、獲取當(dāng)前時(shí)間   

public class Main{
    public static void main(String[] args) {
        long time = System.currentTimeMillis();
        System.out.println(time); //打印出來(lái)的是時(shí)間戳
    }
}

我們可以通過(guò)代碼將其轉(zhuǎn)換成平時(shí)我們看到的時(shí)間格式:

import java.text.SimpleDateFormat;
import java.util.Date;

public class Main{
    public static void main(String[] args) {
        long time = System.currentTimeMillis();
        SimpleDateFormat s = new SimpleDateFormat();
        Date date = new Date();
        
        System.out.println(s.format(date));  //打印出來(lái)的是時(shí)間格式
        System.out.println(time); //打印出來(lái)的是時(shí)間戳
    }
}

運(yùn)行結(jié)果:

2、計(jì)算程序運(yùn)行時(shí)間

通過(guò)System.currentTimeMillis()來(lái)計(jì)算程序運(yùn)行消耗的時(shí)間很簡(jiǎn)單,在頭尾都記下當(dāng)前時(shí)間,然后相減就可以了。

public class Main{
    public static void main(String[] args) {
        long time1 = System.currentTimeMillis();

        //程序內(nèi)容
        
        long time2 = System.currentTimeMillis();
        System.out.println("程序運(yùn)行時(shí)間:" + (time2 - time1));
    }
}

二、使用  import java.util.Date

這個(gè)方法的返回值為 long ,所以需要用 long 類(lèi)型的變量來(lái)接受。得到結(jié)果也是時(shí)間戳的格式。

1、獲取當(dāng)前時(shí)間

// 時(shí)間戳格式

public class Main{
    public static void main(String[] args) {
        Date date = new Date();
        long time = date.getTime();
        System.out.println(time);   //時(shí)間戳
    }
}

// 上面獲取的日期也可以通過(guò) format 轉(zhuǎn)換成我們所需要的格式,如:

import java.text.SimpleDateFormat;
import java.util.Date;

public class Main{
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat s1 = new SimpleDateFormat("YYYY-MM-DD");
        SimpleDateFormat s2 = new SimpleDateFormat("hh:mm:ss");
        System.out.println(s1.format(date)); //年月日
        System.out.println(s2.format(date)); //時(shí)分秒
    }
}

2、計(jì)算程序運(yùn)行時(shí)間

這邊計(jì)算程序運(yùn)行時(shí)間的原理與 System.currentTimeMillis() 的相同,在頭尾都記下當(dāng)前時(shí)間,然后相減就可以了。

import java.util.Date;

public class Main{
    public static void main(String[] args) {
        Date date = new Date();
        long time1 = date.getTime();

        //程序主體

        long time2 = date.getTime();
        System.out.println("程序運(yùn)行時(shí)間:" + (time2 - time1));
    }
}

三、Calendar 類(lèi)

Calendar 類(lèi),是專(zhuān)門(mén)用來(lái)轉(zhuǎn)換特定時(shí)刻和日歷字段之間的日期和時(shí)間。

獲取當(dāng)前時(shí)間

import java.util.Calendar;

public class Main{
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime());
    }
}

// 上面獲取的日期也可以通過(guò) format 轉(zhuǎn)換成我們所需要的格式,如:

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class Main {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       
        System.out.println(s.format(calendar.getTime()));
        //System.out.println(calendar.getTime());
    }
}

四、Date/Time API 

Java 8 提供了一個(gè)全新的 API ,用來(lái)替換 Java.util.Date 和 Java.util.Calendar。Date/Time API 提供了多個(gè)類(lèi),幫助我們完成工作。

1、LocalDate

LocalDate 一般只顯示日期,沒(méi)有時(shí)間。這意味著我們只能獲取當(dāng)前日期,但沒(méi)有一天的具體時(shí)間。

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Demo5 {
    public static void main(String[] args) {
        LocalDate localDate = LocalDate.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM-dd");

        System.out.println(localDate.format(formatter));    //指定格式輸出
        System.out.println(localDate);                      //默認(rèn)格式輸出
    }
}

2、LocalTime

LocalTime 則與 LocalDate 相反,它只能獲取時(shí)間,而不能獲取日期。

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class Demo6 {
    public static void main(String[] args) {
        LocalTime localTime = LocalTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("mm:ss");

        System.out.println(localTime.format(formatter));    //指定格式輸出
        System.out.println(localTime);                      //默認(rèn)格式輸出
    }
}

3、LocalDateTime

LocalDateTime 顧名思義,就是將以上兩者聯(lián)系起來(lái),即可以獲取日期,又可以獲取時(shí)間。因此, LocalDateTime 是Java中最常用的 Date/Time 類(lèi)。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDateTime dateTime = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy hh:mm:ss");

        System.out.println(dateTime.format(formatter)); //指定格式輸出
        System.out.println(dateTime);                   //默認(rèn)格式輸出
    }
}

4、ZonedDateTime

ZoneDateTime 在 Java 8 日期時(shí)間 API 的類(lèi)表示日期和時(shí)間時(shí)區(qū)信息。ZonedDateTime 一般是不可改變的,這意味著該類(lèi)的對(duì)象執(zhí)行計(jì)算的所有方法都會(huì)返回一個(gè)新的 ZonedDateTime 。

創(chuàng)建方式:

import java.time.ZonedDateTime;

public class Main {
    public static void main(String[] args) {
        ZonedDateTime dateTime = ZonedDateTime.now();
    }
}

ZonedDateTime 有許多方法可以訪(fǎng)問(wèn)時(shí)間:

?直接調(diào)用即可~

總結(jié)

到此這篇關(guān)于Java怎么獲取當(dāng)前時(shí)間、計(jì)算程序運(yùn)行時(shí)間源碼詳解的文章就介紹到這了,更多相關(guān)Java獲取當(dāng)前時(shí)間計(jì)算程序運(yùn)行時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合jasypt實(shí)現(xiàn)重要數(shù)據(jù)加密

    SpringBoot整合jasypt實(shí)現(xiàn)重要數(shù)據(jù)加密

    Jasypt是一個(gè)專(zhuān)注于簡(jiǎn)化Java加密操作的開(kāi)源工具,這篇文章主要為大家介紹了詳細(xì)介紹了如何使用jasypt實(shí)現(xiàn)重要數(shù)據(jù)加密,感興趣的小伙伴可以了解下
    2025-03-03
  • Java實(shí)現(xiàn)經(jīng)典游戲俄羅斯方塊(升級(jí)版)的示例代碼

    Java實(shí)現(xiàn)經(jīng)典游戲俄羅斯方塊(升級(jí)版)的示例代碼

    俄羅斯方塊是一款風(fēng)靡全球,從一開(kāi)始到現(xiàn)在都一直經(jīng)久不衰的電腦、手機(jī)、掌上游戲機(jī)產(chǎn)品,是一款游戲規(guī)則簡(jiǎn)單,但又不缺乏樂(lè)趣的簡(jiǎn)單經(jīng)典小游戲。本文將用Java語(yǔ)言實(shí)現(xiàn)這一經(jīng)典游戲,需要的可以參考一下
    2022-09-09
  • 基于hibernate框架在eclipse下的配置方法(必看篇)

    基于hibernate框架在eclipse下的配置方法(必看篇)

    下面小編就為大家?guī)?lái)一篇基于hibernate框架在eclipse下的配置方法(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • java實(shí)現(xiàn)簡(jiǎn)單發(fā)送郵件功能

    java實(shí)現(xiàn)簡(jiǎn)單發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單發(fā)送郵件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 通過(guò)使用Byte?Buddy便捷創(chuàng)建Java?Agent

    通過(guò)使用Byte?Buddy便捷創(chuàng)建Java?Agent

    這篇文章主要為大家介紹了如何通過(guò)使用Byte?Buddy便捷創(chuàng)建Java?Agent的使用說(shuō)明,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • 面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別(動(dòng)力節(jié)點(diǎn)java學(xué)院整理)

    面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別(動(dòng)力節(jié)點(diǎn)java學(xué)院整理)

    很多朋友不清楚面向?qū)ο蠛兔嫦蜻^(guò)程有什么區(qū)別,接下來(lái)小編給大家整理了關(guān)于面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別講解,感興趣的朋友可以參考下
    2017-04-04
  • Java中List對(duì)象集合按對(duì)象中某字段進(jìn)行排序舉例

    Java中List對(duì)象集合按對(duì)象中某字段進(jìn)行排序舉例

    這篇文章主要給大家介紹了關(guān)于Java中List對(duì)象集合按對(duì)象中某字段進(jìn)行排序的相關(guān)資料,我們?cè)谌粘i_(kāi)發(fā)中也經(jīng)常會(huì)用到排序算法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • SpringBoot okhtt工具類(lèi)封裝方式

    SpringBoot okhtt工具類(lèi)封裝方式

    本文介紹了如何在SpringBoot項(xiàng)目中使用OkHttp工具類(lèi)進(jìn)行HTTP請(qǐng)求,并提供了一個(gè)封裝了GET和POST方法的工具類(lèi)示例,在Controller中使用該工具類(lèi)時(shí),需要注意OkHttpClient的靜態(tài)初始化和異常處理
    2025-03-03
  • Java使用Socket通信傳輸文件的方法示例

    Java使用Socket通信傳輸文件的方法示例

    這篇文章主要介紹了Java使用Socket通信傳輸文件的方法,結(jié)合實(shí)例形式分析了java socket編程實(shí)現(xiàn)文件傳輸操作的相關(guān)技巧,需要的朋友可以參考下
    2017-06-06
  • java正則表達(dá)式如何獲取xml文件中指定節(jié)點(diǎn)的值

    java正則表達(dá)式如何獲取xml文件中指定節(jié)點(diǎn)的值

    這篇文章主要介紹了java正則表達(dá)式如何獲取xml文件中指定節(jié)點(diǎn)的值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評(píng)論