網站首頁 java綜合 正文
目錄
一、使用?System.currentTimeMillis()
1、獲取當前時間? ?
2、計算程序運行時間
二、使用? import java.util.Date
1、獲取當前時間
2、計算程序運行時間
三、Calendar 類
獲取當前時間
四、Date/Time API?
1、LocalDate
2、LocalTime
3、LocalDateTime
4、ZonedDateTime
一、使用?System.currentTimeMillis()
????????這個方法的返回值為 long ,所以需要用 long 類型的變量來接受。此方法優勢是不受時區的影響,但是得到結果是時間戳的格式。
1、獲取當前時間? ?
public class Main{
public static void main(String[] args) {
long time = System.currentTimeMillis();
System.out.println(time); //打印出來的是時間戳
}
}
我們可以通過代碼將其轉換成平時我們看到的時間格式:
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); //打印出來的是時間戳
}
}
運行結果:
2、計算程序運行時間
? ? ? ? 通過System.currentTimeMillis()來計算程序運行消耗的時間很簡單,在頭尾都記下當前時間,然后相減就可以了。
public class Main{
public static void main(String[] args) {
long time1 = System.currentTimeMillis();
//程序內容
long time2 = System.currentTimeMillis();
System.out.println("程序運行時間:" + (time2 - time1));
}
}
二、使用? import java.util.Date
????????這個方法的返回值為 long ,所以需要用 long 類型的變量來接受。得到結果也是時間戳的格式。
1、獲取當前時間
// 時間戳格式
public class Main{
public static void main(String[] args) {
Date date = new Date();
long time = date.getTime();
System.out.println(time); //時間戳
}
}
// 上面獲取的日期也可以通過 format 轉換成我們所需要的格式,如:
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 類,是專門用來轉換特定時刻和日歷字段之間的日期和時間。
獲取當前時間
import java.util.Calendar;
public class Main{
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());
}
}
// 上面獲取的日期也可以通過 format 轉換成我們所需要的格式,如:
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? ? ? ? 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 顧名思義,就是將以上兩者聯系起來,即可以獲取日期,又可以獲取時間。因此, 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 的類表示日期和時間時區信息。ZonedDateTime 一般是不可改變的,這意味著該類的對象執行計算的所有方法都會返回一個新的 ZonedDateTime 。
創建方式:
import java.time.ZonedDateTime;
public class Main {
public static void main(String[] args) {
ZonedDateTime dateTime = ZonedDateTime.now();
}
}
ZonedDateTime 有許多方法可以訪問時間:
?
直接調用即可~
? ? ? ? 以上就是??Java:怎么獲取當前時間、怎么計算程序運行時間 (源碼詳解 超詳細!!!) 的全部內容了,對您有幫助的話請多多點贊支持!
原文鏈接:https://blog.csdn.net/linsc_05/article/details/137971014
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-01-31 Nginx的平滑重啟和平滑升級
- 2022-08-12 python關于字典及遍歷的常用方法_python
- 2022-04-11 關于出現“Content type ‘application/x-www-form-urlencod
- 2022-11-09 linphone-sdk-android版本號生成解析_Android
- 2023-01-17 使用matplotlib繪制熱圖(heatmap)全過程_python
- 2022-10-21 IDEA集成Docker實現一鍵部署的詳細過程_docker
- 2022-09-20 Redis超詳細分析分布式鎖_Redis
- 2022-12-02 批處理bat系統管理之任務計劃篇_DOS/BAT
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支