溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java 獲取當(dāng)前時間的三種方法

發(fā)布時間:2020-09-11 19:29:54 來源:腳本之家 閱讀:4561 作者:topEngineerray 欄目:編程語言

總結(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)前值,因?yàn)槭澜绺鞯氐臅r區(qū)是不一樣的。

java.util.Date

在Java中,獲取當(dāng)前日期最簡單的方法之一就是直接實(shí)例化位于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)前時間,而不是實(shí)際日期:

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)載,煩請注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI