成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JDBC的典型應用—橋接模式

開發 前端
在這篇文章中,我們了解了如何在Java中把一個 Instant 格式化為一個字符串。在這一過程中,我們了解了一些使用Java 原生方法來實現這一目標的方法。然后,我們解釋了如何使用Joda-Time庫來完成同樣的事情。

大家好,我是指北君。

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

使用 Java 原生格式化Instant

在 Java 8 中有個名為 Instant 類。通常情況下,我們可以使用這個類來記錄我們應用程序中的事件時間戳。

讓我們看看如何把它轉換成一個字符串對象。

使用 DateTimeFormatter 類

一般來說,我們將需要一個格式化器來格式化一個即時對象。Java 8引入了DateTimeFormatter類來統一格式化日期和時間。

DateTimeFormatter 提供了 format() 方法來完成這項工作。

簡單地說,DateTimeFormatter 需要一個時區來格式化一個 Instant 。沒有它,它將無法將Instant 轉換為人類可讀的日期/時間域。

例如,讓我們假設我們想用 dd.MM.yyyy 格式來顯示我們的即時信息實例。

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()方法來指定時區。

請記住,如果不能指定時區將導致 UnsupportedTemporalTypeException。

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

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

使用toString()方法

另一個解決方案是使用toString()方法來獲得即時對象的字符串表示。

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

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

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

這種方法的局限性在于,我們不能使用自定義的、對人友好的格式來顯示即時信息。

Joda-Time庫

另外,我們也可以使用 Joda-Time API 來實現同樣的目標。這個庫提供了一套隨時可用的類和接口,用于在Java中操作日期和時間。

在這些類中,我們發現DateTimeFormat類。顧名思義,這個類可以用來格式化或解析進出字符串的日期/時間數據。

因此,讓我們來說明如何使用DateTimeFormatter來將一個瞬間轉換為一個字符串。

@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()來指定格式化模式,print()來格式化即時對象。

總結

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

在這一過程中,我們了解了一些使用Java 原生方法來實現這一目標的方法。然后,我們解釋了如何使用Joda-Time庫來完成同樣的事情。

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2020-10-28 11:56:47

橋接模式

2022-01-14 09:22:22

設計模式橋接

2010-04-16 09:36:45

JDBC橋接Oracl

2021-03-05 07:57:41

設計模式橋接

2015-11-12 09:32:03

Javascript設計模式

2010-03-19 11:07:57

點對點無線橋接模式

2011-06-17 09:48:50

FTTHPONFTTB

2024-04-12 12:10:18

Python設計模式開發

2010-02-06 15:17:41

Ubuntu Serv

2022-02-21 15:52:10

抽象橋梁模式結構模式

2011-06-01 16:10:42

JNBridge

2021-10-22 09:41:26

橋接模式設計

2020-05-08 17:05:11

VMware網絡NAT

2010-04-09 16:15:02

無線橋接設置

2010-04-08 17:02:14

無線橋接方案

2010-08-17 13:56:44

路由器橋接技術

2009-08-18 11:12:34

Ubuntu下Virt橋接網絡配置

2010-03-12 15:29:55

Ubuntu irtu

2009-05-13 09:39:00

雙網卡共享帶寬

2018-05-22 14:30:42

云計算虛擬化模式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 荷兰欧美一级毛片 | 欧美精品综合在线 | 亚洲午夜精品一区二区三区他趣 | www国产成人免费观看视频,深夜成人网 | 午夜三级视频 | 日本久久黄色 | 99精品国产一区二区三区 | 91 在线| 久久久久久久久久爱 | 国产熟熟 | 成人性生交大片免费看r链接 | 一本一道久久a久久精品蜜桃 | 亚洲综合视频 | 精品久久伊人 | 精品一区二区三区在线视频 | 国产精品18久久久久久久 | 国产精品色 | 成人精品免费视频 | 欧美综合久久 | 欧美天堂 | 国产精品久久久久久婷婷天堂 | 人干人人 | 亚洲精品美女在线观看 | 日韩三级一区 | 国产二区精品视频 | 一级片毛片 | 久久综合九色综合欧美狠狠 | 亚洲精品国产精品国自产在线 | 中文字幕 国产 | 一级欧美| 国产999精品久久久 日本视频一区二区三区 | 国产精品视频免费播放 | 日韩欧美一区二区三区免费观看 | 欧美亚洲激情 | 日本电影网站 | 四虎在线观看 | 久久精品国产一区二区 | 国产精彩视频 | 国产日韩欧美另类 | 国产伊人精品 | 亚洲在线视频 |