在Java中,long和Date都是非常常見的數據類型。其中,long代表着從某個固定的日期到現在的毫秒數,而Date則表示具體的日期和時間。在實際工作中,我們經常需要將它們相互轉換,這篇文章就來詳細介紹如何進行轉換。
一、將long類型轉換為Date類型
將long類型轉換為Date類型,其實就是將毫秒數轉換為對應的具體日期和時間,這可以通過Java提供的Date類來實現。
// 將long型的時間戳轉換為Date類型 long timestamp = 1567249274000L; Date date = new Date(timestamp);
如上所示,我們只需要使用Date類提供的構造函數,將long類型的時間戳作為參數傳入,就可以得到對應的Date類型日期和時間。
二、將Date類型轉換為long類型
將Date類型轉換為long類型,其實就是將具體的日期和時間轉換為對應的毫秒數,同樣可以通過Java提供的Date類來實現。
// 將Date類型轉換為long型的時間戳 Date date = new Date(); long timestamp = date.getTime();
如上所示,我們只需要使用Date類提供的getTime()方法,就可以將Date類型的日期和時間轉換為對應的long型時間戳。
三、格式化日期
在實際工作中,我們通常會需要將日期按照一定的格式進行展示。Java中可以通過SimpleDateFormat類來實現。
// 將Date類型日期轉換為字符串格式 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdf.format(date);
如上所示,我們只需要使用SimpleDateFormat類提供的format()方法,將Date類型的日期轉換為指定格式的字符串即可。
四、將字符串轉換為Date類型
有時候,我們從接口或者文本中獲取到的日期是字符串格式的,這時候我們需要將它轉換為Date類型,同樣可以使用SimpleDateFormat類來實現。
// 將字符串類型的日期轉換為Date類型 String dateStr = "2021-06-25 18:20:30"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse(dateStr);
如上所示,我們只需要使用SimpleDateFormat類提供的parse()方法,將字符串類型的日期轉換為Date類型即可。
五、時區轉換
在跨時區的應用中,我們經常需要進行時區轉換。Java中可以通過TimeZone類和Calendar類來實現。
// 得到指定時區的時間 Calendar calendar = Calendar.getInstance(); TimeZone timeZone = TimeZone.getTimeZone("GMT+8"); calendar.setTimeZone(timeZone); Date date = calendar.getTime();
如上所示,我們只需要使用TimeZone類獲取指定時區的對象,並且設置到Calendar對象中,再獲取對應的Date對象即可得到指定時區的時間。
六、總結
通過本文的介紹,我們可以了解到Java中如何將long和Date類型相互轉換,以及如何進行日期的格式化和時區的轉換。這些方法在實際開發中非常常見,深入理解並掌握對提高我們開發效率和質量都有很大的幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/236338.html