一、獲取當前系統時間的時間戳
在Android中獲取當前系統時間的時間戳可以使用System.currentTimeMillis()方法,該方法將返回自1970年1月1日0時0分0秒GMT到當前時間的毫秒數,也被稱為Unix時間戳。
代碼示例:
long timeStamp = System.currentTimeMillis() / 1000;
二、通過Date對象獲取時間戳
在Java中,Date對象的getTime()方法返回從1970年1月1日0時0分0秒GMT開始到現在的毫秒數,同樣也是Unix時間戳。因此,我們可以通過獲取當前系統時間的Date對象,再調用getTime()方法獲取時間戳。
代碼示例:
Date date = new Date(); long timeStamp = date.getTime() / 1000;
三、使用Calendar類獲取時間戳
除了Date對象外,我們還可以使用Java的Calendar類來獲取當前系統時間,並將其轉化為時間戳。
代碼示例:
Calendar calendar = Calendar.getInstance(); long timeStamp = calendar.getTimeInMillis() / 1000;
四、通過SimpleDateFormat獲取時間戳
SimpleDateFormat是Java中一種常用的日期格式化工具,我們可以使用它來獲取當前時間的字符串表示,然後再通過解析字符串獲取時間戳。
代碼示例:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = sdf.format(new Date()); long timeStamp = 0; try { timeStamp = sdf.parse(time).getTime() / 1000; } catch (ParseException e) { e.printStackTrace(); }
五、獲取帶毫秒數的時間戳
以上示例中獲取的時間戳僅精確到秒,如果需要獲取帶毫秒數的時間戳,可以使用Android中的SystemClock.elapsedRealtime()方法。
代碼示例:
long timeStampWithMs = System.currentTimeMillis();
六、總結
本文介紹了四種Android獲取當前時間戳的方法,包括System.currentTimeMillis()、Date對象、Calendar類和SimpleDateFormat。其中,System.currentTimeMillis()方法最為簡單直接,但不支持獲取毫秒數;使用Calendar類和Date對象獲取時間戳需要進行額外的處理以將時間戳轉化為秒;而SimpleDateFormat可以獲取帶毫秒數的時間戳,但需要進行字符串解析,操作較為繁瑣。
綜合考慮,推薦使用System.currentTimeMillis()方法獲取時間戳,如果需要帶毫秒數的時間戳則使用System.currentTimeMillis()。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/150783.html