時間是程序中一個非常常見的概念,而在Java中,我們使用時間戳來表示時間,即表示距離1970年1月1日00:00:00.000 GMT的毫秒數。如何將時間戳轉換成我們平時所熟悉的時間格式呢?這篇文章將從多個方面進行闡述。
一、時間戳轉成Date類型
我們可以使用Java8提供的Instant類來將時間戳轉換成Date類型。Instant類是ISO-8601標準的時間表示法,其精度可以達到納秒級別。
long timestamp = 1589175772000L; //示例時間戳 Instant instant = Instant.ofEpochMilli(timestamp); Date date = Date.from(instant);
以上代碼將時間戳轉換成了Date類型,使用Date類型的toString()方法即可列印出時間信息。
二、時間戳轉成自定義格式時間
我們可以使用Java8提供的DateTimeFormatter類將時間格式化為我們自定義的格式。
long timestamp = 1589175772000L; //示例時間戳 Instant instant = Instant.ofEpochMilli(timestamp); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = localDateTime.format(formatter); System.out.println(formattedDateTime);
以上代碼將時間戳轉換成了自定義格式的時間,並列印出來了。
三、自定義格式時間轉成時間戳
我們可以使用Java8提供的DateTimeFormatter類將自定義格式的時間轉換成時間戳。
String formattedDateTime = "2020-05-11 14:09:32"; //示例時間字元串 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime localDateTime = LocalDateTime.parse(formattedDateTime, formatter); Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant(); long timestamp = instant.toEpochMilli();
以上代碼將自定義格式的時間轉換成了時間戳。
四、使用常用第三方庫進行轉換
為了方便,我們也可以使用常用的第三方庫進行時間戳和時間的轉換。常用的庫有Joda-Time和FastDateFormat。
//使用Joda-Time進行時間戳轉成時間 long timestamp = 1589175772000L; //示例時間戳 DateTime dateTime = new DateTime(timestamp); String formattedDateTime = dateTime.toString("yyyy-MM-dd HH:mm:ss"); //使用Joda-Time進行時間轉成時間戳 String formattedDateTime = "2020-05-11 14:09:32"; //示例時間字元串 DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); DateTime dateTime = formatter.parseDateTime(formattedDateTime); long timestamp = dateTime.getMillis(); //使用FastDateFormat進行時間戳轉成時間 long timestamp = 1589175772000L; //示例時間戳 String formattedDateTime = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss").format(timestamp); //使用FastDateFormat進行時間轉成時間戳 String formattedDateTime = "2020-05-11 14:09:32"; //示例時間字元串 long timestamp = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss").parse(formattedDateTime).getTime();
以上代碼展示了常用第三方庫的使用方式。
五、總結
以上就是Java中從時間戳到時間的轉換方法。我們可以使用Java8類庫提供的Instant、LocalDateTime、DateTimeFormatter等類進行轉換,也可以使用Joda-Time和FastDateFormat等常用第三方庫進行轉換。將時間戳轉換成我們所熟悉的時間格式,幫助我們更好地理解時間的概念,更便於我們對時間進行處理。
原創文章,作者:AZKQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137682.html