一、获取当前系统时间的时间戳
在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()。