您的位置:

Android获取当前时间戳方法

一、获取当前系统时间的时间戳

在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()。