時間轉換在編程中是一個非常常見的需求,Java作為一門流行的編程語言,在時間轉換方面也提供了許多強大的API和工具。本文將介紹如何在Java中進行時間轉換,讓您輕鬆應對這個問題。
一、Java中的時間類
在Java中,時間類主要有以下三個:
Date
:表示特定的瞬時,精確到毫秒Calendar
:可以進行各種與日期和時間相關的計算,比如年、月、日和時、分、秒SimpleDateFormat
:可以將Date
格式化為指定的字符串,也可以將字符串解析為Date
二、時間格式化
對於時間格式化,可以使用SimpleDateFormat
類。其將Date
格式化為字符串,或將字符串解析為Date
。下面是一個例子:
import java.text.SimpleDateFormat; import java.util.Date; public class TimeConversion { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String strDate = sdf.format(date); System.out.println(strDate); } }
輸出結果為:2020-07-08 17:42:25
註:上面的代碼中,yyyy-MM-dd HH:mm:ss
中的字符表示時間的不同部分,例如:yyyy
表示4位數字的年份,MM
表示2位數字的月份,以此類推。這裡介紹一下格式化字符:
字符 | 說明 |
y | 年份 |
M | 月份 |
d | 日期 |
H | 小時(24小時制) |
h | 小時(12小時制) |
m | 分鐘 |
s | 秒 |
S | 毫秒 |
例如,yyyy-MM-dd HH:mm:ss.SSS
表示年月日時分秒毫秒,yyyy-MM-dd
表示年月日,HH:mm:ss
表示時分秒。
三、字符串轉換為日期
如果要將字符串轉換為日期,也可以使用SimpleDateFormat
。下面是一個例子:
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class TimeConversion { public static void main(String[] args) throws ParseException { String strDate = "2020-07-08 17:42:25"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse(strDate); System.out.println(date); } }
輸出結果為:Wed Jul 08 17:42:25 CST 2020
四、日期轉換為時間戳
Unix時間戳是指從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數。Java中可以通過Date
類的getTime()
方法獲取時間戳,例如:
import java.util.Date; public class TimeConversion { public static void main(String[] args) { Date date = new Date(); long timestamp = date.getTime() / 1000; // 將毫秒轉換為秒 System.out.println(timestamp); } }
輸出結果為:1594211884
五、時間戳轉換為日期
Unix時間戳可以通過java.util.Date
類的構造函數來轉換為日期。下面是一個例子:
import java.util.Date; public class TimeConversion { public static void main(String[] args) { long timestamp = 1594211884; Date date = new Date(timestamp * 1000); System.out.println(date); } }
輸出結果為:Wed Jul 08 17:44:44 CST 2020
六、總結
在本文中,我們介紹了Java中的時間類和如何進行時間格式化、字符串轉換為日期、日期轉換為時間戳、時間戳轉換為日期。希望本文能夠對您有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/311098.html