欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java怎么獲取當前時間、計算程序運行時間源碼詳解(超詳細!)

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

一、使用 System.currentTimeMillis()

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

1、獲取當前時間   

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

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

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));  //打印出來的是時間格式
        System.out.println(time); //打印出來的是時間戳
    }
}

運行結(jié)果:

2、計算程序運行時間

通過System.currentTimeMillis()來計算程序運行消耗的時間很簡單,在頭尾都記下當前時間,然后相減就可以了。

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

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

二、使用  import java.util.Date

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

1、獲取當前時間

// 時間戳格式

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

// 上面獲取的日期也可以通過 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)); //時分秒
    }
}

2、計算程序運行時間

這邊計算程序運行時間的原理與 System.currentTimeMillis() 的相同,在頭尾都記下當前時間,然后相減就可以了。

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("程序運行時間:" + (time2 - time1));
    }
}

三、Calendar 類

Calendar 類,是專門用來轉(zhuǎn)換特定時刻和日歷字段之間的日期和時間。

獲取當前時間

import java.util.Calendar;

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

// 上面獲取的日期也可以通過 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 提供了一個全新的 API ,用來替換 Java.util.Date 和 Java.util.Calendar。Date/Time API 提供了多個類,幫助我們完成工作。

1、LocalDate

LocalDate 一般只顯示日期,沒有時間。這意味著我們只能獲取當前日期,但沒有一天的具體時間。

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);                      //默認格式輸出
    }
}

2、LocalTime

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

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);                      //默認格式輸出
    }
}

3、LocalDateTime

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

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);                   //默認格式輸出
    }
}

4、ZonedDateTime

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

創(chuàng)建方式:

import java.time.ZonedDateTime;

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

ZonedDateTime 有許多方法可以訪問時間:

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

    下面小編就為大家?guī)硪黄趆ibernate框架在eclipse下的配置方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • java實現(xiàn)簡單發(fā)送郵件功能

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

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

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

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

    面向?qū)ο蠛兔嫦蜻^程的區(qū)別(動力節(jié)點java學院整理)

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

    Java中List對象集合按對象中某字段進行排序舉例

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

    SpringBoot okhtt工具類封裝方式

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

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

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

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

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

最新評論