java 獲取當(dāng)前時間的三種方法
總結(jié)java里面關(guān)于獲取當(dāng)前時間的一些方法
System.currentTimeMillis()
獲取標(biāo)準(zhǔn)時間可以通過System.currentTimeMillis()方法獲取,此方法不受時區(qū)影響,得到的結(jié)果是時間戳格式的。例如:
1543105352845
我們可以將時間戳轉(zhuǎn)化成我們易于理解的格式
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");
Date date = new Date(System.currentTimeMillis());
System.out.println(formatter.format(date));
則該時間戳對應(yīng)的時間為:
2018-11-25 at 01:22:12 CET
值得注意的是,此方法會根據(jù)我們的系統(tǒng)時間返回當(dāng)前值,因為世界各地的時區(qū)是不一樣的。
java.util.Date
在Java中,獲取當(dāng)前日期最簡單的方法之一就是直接實例化位于Java包java.util的Date類。
Date date = new Date(); // this object contains the current date value
上面獲取到的日期也可以被format成我們需要的格式,例如:
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
System.out.println(formatter.format(date));
Calendar API
Calendar類,專門用于轉(zhuǎn)換特定時刻和日歷字段之間的日期和時間。
使用Calendar 獲取當(dāng)前日期和時間非常簡單:
Calendar calendar = Calendar.getInstance(); // gets current instance of the calendar
與date一樣,我們也可以非常輕松地format這個日期成我們需要的格式
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
System.out.println(formatter.format(calendar.getTime()));
上面代碼打印的結(jié)果如下:
25-11-2018 00:43:39
Date/Time API
Java 8提供了一個全新的API,用以替換java.util.Date和java.util.Calendar。Date / Time API提供了多個類,幫助我們來完成工作,包括:
- LocalDate
- LocalTime
- LocalDateTime
- ZonedDateTime
- LocalDate
LocalDate只是一個日期,沒有時間。 這意味著我們只能獲得當(dāng)前日期,但沒有一天的具體時間。
LocalDate date = LocalDate.now(); // gets the current date
我們可以format它
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
System.out.println(date.format(formatter));
得到的結(jié)果只有年月日,例如:
25-11-2018
LocalTime
LocalTime與LocalDate相反,它只代表一個時間,沒有日期。 這意味著我們只能獲得當(dāng)天的當(dāng)前時間,而不是實際日期:
LocalTime time = LocalTime.now(); // gets the current time
可以按如下方式format
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
System.out.println(time.format(formatter));
得到的結(jié)果類似如下:
00:55:58
LocalDateTime
最后一個是LocalDateTime,也是Java中最常用的Date / Time類,代表前兩個累的組合 - 即日期和時間的值:
LocalDateTime dateTime = LocalDateTime.now(); // gets the current date and time
format的方式也一樣
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
System.out.println(dateTime.format(formatter));
得到的日期結(jié)果類似于:
25-11-2018 00:57:20
總結(jié)
以上所述是小編給大家介紹的java 獲取當(dāng)前時間的三種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
JavaWeb 文件的上傳和下載功能簡單實現(xiàn)代碼
這篇文章主要介紹了JavaWeb 文件的上傳和下載功能簡單實現(xiàn)代碼,需要的朋友可以參考下2017-04-04
Java中與數(shù)字相關(guān)的常用類的用法詳解
在我們的代碼中,經(jīng)常會遇到一些數(shù)字&數(shù)學(xué)問題、隨機數(shù)問題、日期問題和系統(tǒng)設(shè)置問題等,為了解決這些問題,Java給我們提供了多個處理相關(guān)問題的類,比如Number類、Math類、Random類等等,本篇文章我們先從Number數(shù)字類和Math數(shù)學(xué)類學(xué)起2023-05-05
Spring創(chuàng)建BeanDefinition之路徑掃描詳解
這篇文章主要介紹了Spring創(chuàng)建BeanDefinition之路徑掃描方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
DTO 實現(xiàn) service 和 controller 之間值傳遞的操作
這篇文章主要介紹了DTO 實現(xiàn) service 和 controller 之間值傳遞的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02

