最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中的時間戳各種操作方法詳解

 更新時間:2024年10月15日 09:37:48   作者:路人借問遙招手  
在Java中時間戳指自1970年1月1日午夜(UTC)以來的毫秒數(shù),Java提供了多種方式獲取和操作時間戳,包括System.currentTimeMillis()、java.util.Date、java.sql.Timestamp類,Java8及以后版本引入了java.time包,增強了日期時間處理能力,需要的朋友可以參考下

一.何為Java時間戳

在Java中,時間戳通常指的是自1970年1月1日午夜(UTC)以來的毫秒數(shù)。

這個概念在Java中主要通過java.util.Date類和java.sql.Timestamp類來表示

而在Java 8及以后的版本中,引入了新的日期時間API,即java.time包,提供了更多的功能和靈活性。

二.獲取當前時間戳

1.使用System.currentTimeMillis()方法

long currentTimestamp = System.currentTimeMillis();

2. 使用java.util.Date 類

java.util.Date類可以用來表示特定的瞬間,它包含了自1970年1月1日午夜(UTC)以來的毫秒數(shù)。

// 創(chuàng)建一個Date對象表示當前時間
Date now = new Date();
long timestamp = now.getTime(); // 獲取時間戳

// 從一個已知的時間戳創(chuàng)建Date對象
long timestamp = ... // 假設(shè)你有一個時間戳
Date date = new Date(timestamp);

3. 使用java.sql.Timestamp 類

java.sql.Timestamp類是java.util.Date的一個子類,它提供了更高精度的時間表示,包括納秒

// 創(chuàng)建一個Timestamp對象表示當前時間
Timestamp now = new Timestamp(System.currentTimeMillis());

// 從一個已知的時間戳創(chuàng)建Timestamp對象
long timestamp = ... // 假設(shè)你有一個時間戳
Timestamp ts = new Timestamp(timestamp);

4.Java 8中的 java.time 包

Java 8引入了一個新的日期時間API,提供了更好的處理日期和時間的類。其中,Instant類可以用來表示時間戳。

// 獲取當前時間的Instant對象
Instant now = Instant.now();
long timestamp = now.toEpochMilli(); // 獲取時間戳

// 從一個已知的時間戳創(chuàng)建Instant對象
long timestamp = ... // 假設(shè)你有一個時間戳
Instant instant = Instant.ofEpochMilli(timestamp);

三.格式化時間戳

要將時間戳轉(zhuǎn)換為可讀的日期時間格式,可以使用SimpleDateFormat(Java 8之前)或DateTimeFormatter(Java 8及以后)。

1.使用 SimpleDateFormat

// 假設(shè)你有一個時間戳
long timestamp = ...

// 創(chuàng)建SimpleDateFormat對象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

// 將時間戳轉(zhuǎn)換為Date對象,然后格式化
String formattedDate = sdf.format(new Date(timestamp));
System.out.println(formattedDate);

2.使用 DateTimeFormatter

// 假設(shè)你有一個時間戳
long timestamp = ...

// 創(chuàng)建DateTimeFormatter對象
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

// 將時間戳轉(zhuǎn)換為Instant對象,然后轉(zhuǎn)換為LocalDateTime對象,最后格式化
Instant instant = Instant.ofEpochMilli(timestamp);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String formattedDate = ldt.format(dtf);
System.out.println(formattedDate);

四.時間戳與字符串的轉(zhuǎn)換

1.將時間戳轉(zhuǎn)換為字符串

// 假設(shè)你有一個時間戳
long timestamp = ...

// 使用SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date(timestamp));

// 使用DateTimeFormatter
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
Instant instant = Instant.ofEpochMilli(timestamp);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String dateStr = ldt.format(dtf);

2.將字符串轉(zhuǎn)換為時間戳

// 假設(shè)你有一個日期時間的字符串表示
String dateStr = "2023-04-01 12:34:56";

// 使用SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
    Date date = sdf.parse(dateStr);
    long timestamp = date.getTime();
} catch (ParseException e) {
    e.printStackTrace();
}

// 使用DateTimeFormatter
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime ldt = LocalDateTime.parse(dateStr, dtf);
Instant instant = ldt.atZone(ZoneId.systemDefault()).toInstant();
long timestamp = instant.toEpochMilli();

五.時區(qū)處理

在處理時間戳時,時區(qū)是一個非常重要的因素。Java中的ZoneId類可以用來表示不同的時區(qū)。

// 獲取當前時區(qū)的偏移量
ZoneId currentZone = ZoneId.systemDefault();
ZonedDateTime zdt = ZonedDateTime.now(currentZone);
long offsetInMillis = zdt.getOffset().getTotalSeconds() * 1000;

六.時間戳的加減

要對時間戳進行加減操作,可以使用java.time.Duration類或直接對毫秒數(shù)進行加減。

// 假設(shè)你有一個時間戳
long timestamp = ...

// 增加一小時的時間戳
Instant instant = Instant.ofEpochMilli(timestamp);
Duration oneHour = Duration.ofHours(1);
Instant newInstant = instant.plus(oneHour);
long newTimestamp = newInstant.toEpochMilli();

// 或者直接對毫秒數(shù)進行加減
long newTimestamp = timestamp + (60 * 60 * 1000); // 增加一小時

總結(jié) 

到此這篇關(guān)于Java中時間戳各種操作方法詳解的文章就介紹到這了,更多相關(guān)Java中時間戳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實現(xiàn)銀行ATM管理系統(tǒng)

    java實現(xiàn)銀行ATM管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)銀行ATM管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 使用JPA中@Query 注解實現(xiàn)update 操作方法(必看)

    使用JPA中@Query 注解實現(xiàn)update 操作方法(必看)

    下面小編就為大家?guī)硪黄褂肑PA中@Query 注解實現(xiàn)update 操作方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • MyBatis連接池的深入和動態(tài)SQL詳解

    MyBatis連接池的深入和動態(tài)SQL詳解

    這篇文章主要介紹了MyBatis連接池的深入和動態(tài)SQL詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java中List集合去重方法以及效率對比

    Java中List集合去重方法以及效率對比

    這篇文章主要給大家介紹了關(guān)于Java中List集合去重方法以及效率對比的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • java中自定義Spring Security權(quán)限控制管理示例(實戰(zhàn)篇)

    java中自定義Spring Security權(quán)限控制管理示例(實戰(zhàn)篇)

    本篇文章主要介紹了java中自定義Spring Security權(quán)限控制管理示例(實戰(zhàn)篇) ,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Spring Boot 的創(chuàng)建和運行示例代碼詳解

    Spring Boot 的創(chuàng)建和運行示例代碼詳解

    Spring Boot 的誕生是為了簡化Spring程序的開發(fā),今天給大家介紹下Spring Boot 的創(chuàng)建和運行,主要包括Spring Boot基本概念和springboot優(yōu)點,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2022-07-07
  • SpringCloud_Eureka服務(wù)注冊與發(fā)現(xiàn)基礎(chǔ)及構(gòu)建步驟

    SpringCloud_Eureka服務(wù)注冊與發(fā)現(xiàn)基礎(chǔ)及構(gòu)建步驟

    Eureka服務(wù)注冊中心,主要用于提供服務(wù)注冊功能,當微服務(wù)啟動時,會將自己的服務(wù)注冊到Eureka Server,這篇文章主要介紹了SpringCloud中Eureka的配置及詳細使用,需要的朋友可以參考下
    2023-01-01
  • SpringBoot CountDownLatch多任務(wù)并行處理的實現(xiàn)方法

    SpringBoot CountDownLatch多任務(wù)并行處理的實現(xiàn)方法

    本篇文章主要介紹了SpringBoot CountDownLatch多任務(wù)并行處理的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • java ant 配置及構(gòu)建項目圖文教程

    java ant 配置及構(gòu)建項目圖文教程

    以下是對java ant配置及構(gòu)建項目進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • Java超詳細介紹抽象類與接口的使用

    Java超詳細介紹抽象類與接口的使用

    在類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類稱為抽象類,接口是Java中最重要的概念之一,它可以被理解為一種特殊的類,不同的是接口的成員沒有執(zhí)行體,是由全局常量和公共的抽象方法所組成,本文給大家介紹Java抽象類和接口,感興趣的朋友一起看看吧
    2022-05-05

最新評論

永兴县| 榆中县| 清流县| 敖汉旗| 通河县| 余江县| 新野县| 舟曲县| 新津县| 泸定县| 荆州市| 临泉县| 保康县| 海伦市| 泾源县| 都匀市| 南丹县| 云安县| 东丰县| 涞源县| 韩城市| 信丰县| 台中县| 慈利县| 兰西县| 桐梓县| 金门县| 陆川县| 曲麻莱县| 织金县| 大石桥市| 巴南区| 图片| 永修县| 娄烦县| 合水县| 昌邑市| 隆昌县| 连云港市| 驻马店市| 庄浪县|