一、時間戳和Date的概念
時間戳指的是從1970年1月1日0時0分0秒開始,到當前時間的總秒數。而Date則是Java程序中的日期類,表示一個具體的時間點。它們之間的轉換是在Java中開發中常見的操作。
二、Date轉時間戳的實現方法
1、使用getTime()方法
Date date = new Date(); Long timeStamp = date.getTime() / 1000;
這種方法比較簡單,直接獲取Date對象的時間戳併除以1000即可。需要注意的是getTime()方法返回值是毫秒數,因此需要除以1000轉換為秒數。
2、使用Calendar類
Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); Long timeStamp = calendar.getTimeInMillis() / 1000;
這種方法需要藉助Calendar類,先將Date對象設置給Calendar對象,然後再用getTimeInMillis()方法獲取時間戳,同樣需要除以1000轉換為秒數。
三、時間戳轉Date的實現方法
1、使用Date類的構造方法
Long timeStamp = System.currentTimeMillis() / 1000; Date date = new Date(timeStamp * 1000);
這種方法也比較簡單,直接將時間戳乘以1000得到毫秒數,然後傳入Date的構造方法即可。
2、使用Calendar類
Long timeStamp = System.currentTimeMillis() / 1000; Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timeStamp * 1000); Date date = calendar.getTime();
這種方法和Date轉時間戳的第二種方法類似,需要藉助Calendar類,先將時間戳設置給Calendar對象,然後再用getTime()方法獲取Date對象。
四、完整示例代碼
import java.util.Calendar; import java.util.Date; public class TimeStampTest { public static void main(String[] args) { Date date = new Date(); Long timeStamp1 = date.getTime() / 1000; System.out.println("使用getTime()方法獲取時間戳:" + timeStamp1); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); Long timeStamp2 = calendar.getTimeInMillis() / 1000; System.out.println("使用Calendar類獲取時間戳:" + timeStamp2); Long timeStamp3 = System.currentTimeMillis() / 1000; Date date1 = new Date(timeStamp3 * 1000); System.out.println("使用Date類的構造方法轉換時間戳:" + date1); Calendar calendar1 = Calendar.getInstance(); calendar1.setTimeInMillis(timeStamp3 * 1000); Date date2 = calendar1.getTime(); System.out.println("使用Calendar類轉換時間戳:" + date2); } }
五、總結
本文介紹了Java中Date轉時間戳和時間戳轉Date的四種實現方法,並給出了完整的示例代碼。
在實際開發中,由於時間的表示方式相對比較靈活,因此可能會使用很多其他的Java庫或框架實現時間戳和Date之間的轉換。但是核心的實現思路和方法都是類似的,希望本文可以幫助讀者更好地理解和應用相應的操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/200037.html