currentTimeMillis方法详解(3大用法与作用)

currentTimeMillis方法详解(3大用法与作用)-mikechen

currentTimeMillis简介

System.currentTimeMillis()用于获取当前系统时间,以毫秒为单位。

currentTimeMillis该值表示:当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒之间的时间差,以毫秒数为单位。

 

为什么使用currentTimeMillis

在开发过程中通常很多人都习惯使用new Date()来获取当前时间,new Date()所做的事情其实就是调用了System.currentTimeMillis()。

如果仅仅是需要或者毫秒数,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上会高一点。

如果需要在同一个方法里面多次使用new Date(),通常性能就是这样一点一点地消耗掉,这里其实可以声明一个引用。

 

currentTimeMillis语法

public static long currentTimeMillis()

获得的将是一个长整型的数字,该数字就是以差值表达的当前时间。

备注:注意currentTimeMillis返回值为Long型

 

currentTimeMillis用法

1. 计算某任务 耗费的毫秒

long start = System. currentTimeMillis();
for(int i = 0;i < 100000000;i++)
{ 
    int a = 0; 
} 
long end = System. currentTimeMillis(); 
long time = end – start; 
System.out.println("耗时" + (end - start) + "毫秒");

 

2.获得当前的系统时间

//可以直接把这个方法强制转换成date类型
Date nowTime = new Date(System.currentTimeMillis());

//设定显示格式
SimpleDateFormat sdFormatter = new SimpleDateFormat("yyyy-MM-dd");

//按指定格式转换
String now = sdFormatter.format(nowTime);
System.out.println(now);

 

3.用当前毫秒数给文件命名等

File f = new File("c:\\"+System.currentTimeMillis() + "");
f.createNewFile();

 

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法