溫馨提示×

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

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

java如何獲取當(dāng)前日期和時(shí)間

發(fā)布時(shí)間:2020-06-12 09:22:58 來源:網(wǎng)絡(luò) 閱讀:412 作者:艾弗森哇 欄目:編程語(yǔ)言

本篇博客主要總結(jié)java里面關(guān)于獲取當(dāng)前時(shí)間的一些方法


System.currentTimeMillis()

獲取標(biāo)準(zhǔn)時(shí)間可以通過System.currentTimeMillis()方法獲取,此方法不受時(shí)區(qū)影響,得到的結(jié)果是時(shí)間戳格式的。例如:


1543105352845??

我們可以將時(shí)間戳轉(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));

則該時(shí)間戳對(duì)應(yīng)的時(shí)間為:


2018-11-25 at 01:22:12 CET

值得注意的是,此方法會(huì)根據(jù)我們的系統(tǒng)時(shí)間返回當(dāng)前值,因?yàn)槭澜绺鞯氐臅r(shí)區(qū)是不一樣的。


java.util.Date

在Java中,獲取當(dāng)前日期最簡(jiǎn)單的方法之一就是直接實(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)換特定時(shí)刻和日歷字段之間的日期和時(shí)間。


使用Calendar 獲取當(dāng)前日期和時(shí)間非常簡(jiǎn)單:


Calendar calendar = Calendar.getInstance(); // get current instance of the calendar??

與date一樣,我們也可以非常輕松地format這個(gè)日期成我們需要的格式


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提供了一個(gè)全新的API,用以替換java.util.Date和java.util.Calendar。Date / Time API提供了多個(gè)類,幫助我們來完成工作,包括:

鄭州不孕不育醫(yī)院:http://jbk.39.net/yiyuanzaixian/zztjyy/

LocalDate

LocalTime

LocalDateTime

ZonedDateTime

LocalDate

LocalDate只是一個(gè)日期,沒有時(shí)間。 這意味著我們只能獲得當(dāng)前日期,但沒有一天的具體時(shí)間。


LocalDate date = LocalDate.now(); // get the current date?

我們可以format它


DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");??

System.out.println(date.format(formatter));??

得到的結(jié)果只有年月日,例如:

https://wenku.baidu.com/view/4bac53c8326c1eb91a37f111f18583d048640f38

25-11-2018?

LocalTime

LocalTime與LocalDate相反,它只代表一個(gè)時(shí)間,沒有日期。 這意味著我們只能獲得當(dāng)天的當(dāng)前時(shí)間,而不是實(shí)際日期:


LocalTime time = LocalTime.now(); // get the current time??

可以按如下方式format


DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");??

System.out.println(time.format(formatter));?

得到的結(jié)果類似如下:


00:55:58??

LocalDateTime

最后一個(gè)是LocalDateTime,也是Java中最常用的Date / Time類,代表前兩個(gè)類的組合 - 即日期和時(shí)間的值:


LocalDateTime dateTime = LocalDateTime.now(); // get 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??

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

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

AI