一、什么是时间戳?
时间戳(Timestamp),是指定时刻与某个起始时间点之间的时间差,通常指Unix时间戳。Unix时间戳是从1970年1月1日 00:00:00开始所经过的秒数,可以用于记录日期和时间。而Java获取当前时间戳就是获取当前时刻到1970年1月1日 00:00:00的秒数,以long类型表示。
二、System.currentTimeMillis()
Java获取当前时间戳最常用的方法是使用System.currentTimeMillis(),这个方法返回的是当前时间与1970年1月1日 00:00:00之间的毫秒数。但是,我们一般会将毫秒转换成秒来作为时间戳,所以需要将值除以1000。
long timestamp = System.currentTimeMillis() / 1000; System.out.println("当前时间戳为:" + timestamp);
三、java.util.Date.getTime()
Java中还可以使用java.util.Date类获取当前时间戳,它的getTime()方法返回的也是当前时间与1970年1月1日 00:00:00之间的毫秒数。同样需要将值除以1000。
Date date = new Date(); long timestamp = date.getTime() / 1000; System.out.println("当前时间戳为:" + timestamp);
四、Calendar.getInstance().getTimeInMillis()
此外,还可以使用Calendar类中的getInstance()方法获取当前时间,并用getTimeInMillis()方法将时间转换成毫秒数,同样需要将值除以1000。
Calendar calendar = Calendar.getInstance(); long timestamp = calendar.getTimeInMillis() / 1000; System.out.println("当前时间戳为:" + timestamp);
五、总结
Java获取当前时间戳的方法有多种实现,其中最常用的是System.currentTimeMillis()和java.util.Date.getTime()。需要注意的是,它们获取的是当前时间与1970年1月1日 00:00:00之间的毫秒数,需要将值除以1000转换成秒。Calendar.getInstance().getTimeInMillis()也可以实现同样的效果。