获取当前时间戳
//方法 一
System.currentTimeMillis();
//方法 二
Calendar.getInstance().getTimeInMillis();
//方法 三
new Date().getTime();
获取当前时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
获取时间戳三种方法执行效率比较:
import java.util.Calendar;
import java.util.Date;public class TimeTest {private static long _TEN_THOUSAND=10000;public static void main(String[] args) {long times=1000*_TEN_THOUSAND;long t1=System.currentTimeMillis();testSystem(times);long t2=System.currentTimeMillis();System.out.println(t2-t1);testCalander(times);long t3=System.currentTimeMillis();System.out.println(t3-t2);testDate(times);long t4=System.currentTimeMillis();System.out.println(t4-t3);}public static void testSystem(long times){//use 188for(int i=0;i<times;i++){long currentTime=System.currentTimeMillis();}}public static void testCalander(long times){//use 6299for(int i=0;i<times;i++){long currentTime=Calendar.getInstance().getTimeInMillis();}}public static void testDate(long times){for(int i=0;i<times;i++){long currentTime=new Date().getTime();}}}
执行结果:
Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,这是因为Canlendar要处理时区问题会耗费较多的时间。
时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。时间戳是一个加密文档,包含:文件的摘要、DTS收到文件的日期和时间以及DTS的数字签名三部分。它具有防篡改、防复用的优点。