18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用 Java 原生格式化Instant

科技綠洲 ? 來(lái)源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-10-09 14:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天我們將聊聊如何在Java中把一個(gè) Instant 格式化為一個(gè)字符串。我們將展示如何使用 Java 原生和第三方庫(kù)(如Joda-Time)來(lái)處理這個(gè)事情。

使用 Java 原生格式化Instant

在 Java 8 中有個(gè)名為 Instant 類。通常情況下,我們可以使用這個(gè)類來(lái)記錄我們應(yīng)用程序中的事件時(shí)間戳。

讓我們看看如何把它轉(zhuǎn)換成一個(gè)字符串對(duì)象。

使用 DateTimeFormatter 類

一般來(lái)說(shuō),我們將需要一個(gè)格式化器來(lái)格式化一個(gè)即時(shí)對(duì)象。Java 8引入了DateTimeFormatter類來(lái)統(tǒng)一格式化日期和時(shí)間。

DateTimeFormatter 提供了 format() 方法來(lái)完成這項(xiàng)工作。

簡(jiǎn)單地說(shuō),DateTimeFormatter 需要一個(gè)時(shí)區(qū)來(lái)格式化一個(gè) Instant 。沒(méi)有它,它將無(wú)法將Instant 轉(zhuǎn)換為人類可讀的日期/時(shí)間域。

例如,讓我們假設(shè)我們想用 dd.MM.yyyy 格式來(lái)顯示我們的即時(shí)信息實(shí)例。

public class FormatInstantUnitTest {
    
    private static final String PATTERN_FORMAT = "dd.MM.yyyy";

    @Test
    public void givenInstant_whenUsingDateTimeFormatter_thenFormat() {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(PATTERN_FORMAT)
        .withZone(ZoneId.systemDefault());

        Instant instant = Instant.parse("2022-04-21T15:35:24.00Z");
        String formattedInstant = formatter.format(instant);

        assertThat(formattedInstant).isEqualTo("21.04.2022");
    }
}

如上所示,我們可以使用withZone()方法來(lái)指定時(shí)區(qū)。

請(qǐng)記住,如果不能指定時(shí)區(qū)將導(dǎo)致 UnsupportedTemporalTypeException。

@Test(expected = UnsupportedTemporalTypeException.class)
public void givenInstant_whenNotSpecifyingTimeZone_thenThrowException() {
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern(PATTERN_FORMAT);

    Instant instant = Instant.now();
    formatter.format(instant);
}

使用toString()方法

另一個(gè)解決方案是使用toString()方法來(lái)獲得即時(shí)對(duì)象的字符串表示。

讓我們用一個(gè)測(cè)試案例舉例說(shuō)明toString()方法的使用。

@Test
public void givenInstant_whenUsingToString_thenFormat() {
    Instant instant = Instant.ofEpochMilli(1641828224000L);
    String formattedInstant = instant.toString();

    assertThat(formattedInstant).isEqualTo("2022-01-10T15:23:44Z");
}

這種方法的局限性在于,我們不能使用自定義的、對(duì)人友好的格式來(lái)顯示即時(shí)信息。

Joda-Time庫(kù)

另外,我們也可以使用 Joda-Time API 來(lái)實(shí)現(xiàn)同樣的目標(biāo)。這個(gè)庫(kù)提供了一套隨時(shí)可用的類和接口,用于在Java中操作日期和時(shí)間。

在這些類中,我們發(fā)現(xiàn)DateTimeFormat類。顧名思義,這個(gè)類可以用來(lái)格式化或解析進(jìn)出字符串的日期/時(shí)間數(shù)據(jù)。

因此,讓我們來(lái)說(shuō)明如何使用DateTimeFormatter來(lái)將一個(gè)瞬間轉(zhuǎn)換為一個(gè)字符串。

@Test
public void givenInstant_whenUsingJodaTime_thenFormat() {
    org.joda.time.Instant instant = new org.joda.time.Instant("2022-03-20T10:11:12");
        
    String formattedInstant = DateTimeFormat.forPattern(PATTERN_FORMAT)
        .print(instant);

    assertThat(formattedInstant).isEqualTo("20.03.2022");
}

我們可以看到,DateTimeFormatter提供forPattern()來(lái)指定格式化模式,print()來(lái)格式化即時(shí)對(duì)象。

總結(jié)

在這篇文章中,我們了解了如何在Java中把一個(gè) Instant 格式化為一個(gè)字符串。

在這一過(guò)程中,我們了解了一些使用Java 原生方法來(lái)實(shí)現(xiàn)這一目標(biāo)的方法。然后,我們解釋了如何使用Joda-Time庫(kù)來(lái)完成同樣的事情。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2992

    瀏覽量

    115065
  • 格式化
    +關(guān)注

    關(guān)注

    2

    文章

    39

    瀏覽量

    9482
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3339

    瀏覽量

    59749
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MDK使用AStyle進(jìn)行代碼自動(dòng)格式化

    MDK使用AStyle進(jìn)行代碼自動(dòng)格式化
    的頭像 發(fā)表于 09-19 14:22 ?5465次閱讀
    MDK使用AStyle進(jìn)行代碼自動(dòng)<b class='flag-5'>格式化</b>

    如何對(duì)MicroSD卡格式化

    使用ESP32-CAM每隔幾秒拍一張照片,并存儲(chǔ)到SD卡中。ESP32-CAM成本約為40元,用過(guò)的MicroSD卡2.實(shí)驗(yàn)方法格式化MicroSD卡對(duì)MicroSD卡格式化,注意選擇FAT32格式
    發(fā)表于 01-21 13:58

    格式化硬盤

    格式化硬盤 軟盤只需要一次格式化,硬盤卻需要兩級(jí),即低級(jí)格式化和高級(jí)格式化。  硬盤的低級(jí)格式化在每個(gè)磁片上劃分
    發(fā)表于 12-25 15:40 ?1194次閱讀

    筆記本硬盤維護(hù)之格式化

    筆記本硬盤維護(hù)之格式化篇   格式化硬盤(并非低格)會(huì)影響硬盤壽命嗎?用Windows對(duì)硬盤進(jìn)行格式化與對(duì)軟盤進(jìn)行格式化原理一樣
    發(fā)表于 01-20 10:32 ?439次閱讀

    筆記本硬盤格式化幾點(diǎn)須知

    筆記本硬盤格式化幾點(diǎn)須知  格式化硬盤(并非低格)會(huì)影響硬盤壽命嗎?用Windows對(duì)硬盤進(jìn)行格式化與對(duì)軟盤進(jìn)行格式化原理一樣嗎?
    發(fā)表于 01-23 14:15 ?783次閱讀

    如何格式化硬盤

    如何格式化硬盤    這是廣大電腦初學(xué)者經(jīng)常詢問(wèn)的問(wèn)題,因?yàn)?b class='flag-5'>格式化硬盤是安裝裝系統(tǒng)的前提,所以這就成為了需要首先解決的問(wèn)題,本文將針這個(gè)
    發(fā)表于 02-24 11:25 ?652次閱讀

    硬盤無(wú)法格式化如何處理

    硬盤無(wú)法格式化如何處理   筆者有一塊20GB的長(zhǎng)城硬盤,出現(xiàn)了故障,無(wú)法正常使用,就連格式化都不能順利通過(guò),閑置一旁已多日
    發(fā)表于 02-24 11:39 ?8428次閱讀

    如何格式化c盤

    如何格式化c盤 咨詢這個(gè)問(wèn)題的朋友,相信一定是電腦的初學(xué)者,而且跳過(guò)了DOS系統(tǒng)的年代。單單就這個(gè)問(wèn)題的回答,傳統(tǒng)的方法是
    發(fā)表于 03-01 10:22 ?2w次閱讀

    格式化對(duì)硬盤有傷害嗎_硬盤格式化后數(shù)據(jù)還能恢復(fù)嗎

    普通的格式化硬盤是不會(huì)影響硬盤壽命的。硬盤格式化后數(shù)據(jù)還能恢復(fù)嗎?下面就來(lái)看看使用強(qiáng)力數(shù)據(jù)是如何將格式化后的數(shù)據(jù)給恢復(fù)的吧。
    發(fā)表于 12-14 16:09 ?1.8w次閱讀

    格式化是什么

    格式化(format)是指對(duì)磁盤或磁盤中的分區(qū)(partition)進(jìn)行初始的一種操作,這種操作通常會(huì)導(dǎo)致現(xiàn)有的磁盤或分區(qū)中所有的文件被清除。格式化通常分為低級(jí)格式化和高級(jí)
    的頭像 發(fā)表于 01-09 15:20 ?8.8w次閱讀

    關(guān)于MDK-ARM代碼格式化插件AStyle

    MDK-ARM代碼格式化插件AStyle
    的頭像 發(fā)表于 03-07 16:34 ?3069次閱讀

    D盤無(wú)法格式化的解決方法分享

    電腦的使用windows7系統(tǒng)過(guò)程中,發(fā)現(xiàn)電腦磁盤的有一些不需要的文件想直接格式化,由于自己的電腦D盤太亂,想要格式化D盤。
    的頭像 發(fā)表于 08-10 16:25 ?6038次閱讀
    D盤無(wú)法<b class='flag-5'>格式化</b>的解決方法分享

    printf格式化輸出符號(hào)參數(shù)詳解

    printf格式化輸出符號(hào)參數(shù)詳解
    發(fā)表于 07-06 09:12 ?21次下載

    python字符串格式化

    python字符串格式化 格式化輸出,主要有三種方式 使用 % 進(jìn)行格式化 使用 format 函數(shù)進(jìn)行格式化 使用 f-string 進(jìn)行格式化
    的頭像 發(fā)表于 02-21 16:28 ?2011次閱讀
    python字符串<b class='flag-5'>格式化</b>

    Java中如何解析、格式化、生成SQL語(yǔ)句?

    昨天在群里看到有小伙伴問(wèn),Java里如何解析SQL語(yǔ)句然后格式化SQL,是否有現(xiàn)成類庫(kù)可以使用?
    的頭像 發(fā)表于 04-10 11:59 ?1894次閱讀