Java 获取时间戳的方法大全,以及速度比较

JSON 2016-08-22 16:15:37 68642

Java获取Unix时间戳 的方法应该是有这3种,当然有可能还有其他,只是我不知道而已,今天的测试也是为了我新添加的工具,也是为了本站新发布的Unix时间戳 转换工具而测试的。

//方法之一  ,也是最快的。
System.currentTimeMillis();   
//方法之二  ,第二快的。
new java.util.Date().getTime();  
//方法之三  ,最慢的
Calendar.getInstance().getTimeInMillis();  

代码注释里写了,获取 时间戳  System.currentTimeMillis();  是最快的,口说无凭,那么我们来测试下。

/**
 * 
 * 开发公司:sojson.com<br/>
 * 版权:sojson.com<br/>
 * <p>
 * 
 *  时间戳获取方法用时对比
 * 
 * <p>
 * 
 * 区分 责任人 日期    说明<br/>
 * 创建 周柏成 2016年4月17日  <br/>
 * <p>
 * *******
 * <p>
 * @author zhou-baicheng
 * @email  json@sojson.com
 * @version 1.0,2016年4月17日 <br/>
 * 
 */
public class TimeTest { 
	//定义循环一亿次获取
    private static double NUMBER = 100000000D;  
    public static void main(String[] args) {  
        long t1=System.currentTimeMillis();  
        testSystem();  
        long t2=System.currentTimeMillis();  
        System.out.printf("System.currentTimeMillis()获取方式用时[%s]\n",t2-t1);  
        testCalander();  
        long t3=System.currentTimeMillis();  
        System.out.printf("Calendar.getInstance().getTimeInMillis()获取方式用时[%s]\n",t3-t2);  
        testDate();  
        long t4=System.currentTimeMillis();  
        System.out.printf("new Date().getTime()获取方式用时[%s]\n",t4-t3);  
    }  
    //测试System.currentTimeMillis();
    public static void testSystem(){
        for(int i=0;i<NUMBER;i++){  
            System.currentTimeMillis();  
        }  
    }  
    //测试Calendar.getInstance().getTimeInMillis();  
    public static void testCalander(){
        for(int i=0;i<NUMBER;i++){  
            java.util.Calendar.getInstance().getTimeInMillis();  
        }  
    }  
   //测试java.util.Date().getTime();  
    public static void testDate(){  
        for(int i=0;i<NUMBER;i++){  
            new java.util.Date().getTime();  
        }  
          
    }  
  
} 

我们每个方法都获取 时间戳  一亿次,得到的结果是这样的:

System.currentTimeMillis()获取方式用时[111]
Calendar.getInstance().getTimeInMillis()获取方式用时[45448]
new Date().getTime()获取方式用时[1781]

相差多大?你应该得出结论吧。

所以我们 Java  如果单纯是获取 时间戳  的话,建议使用第一种方式获取,也就是System.currentTimeMillis()获取方式用时[111] 的方式获取 时间戳  Java  代码下载,在附件里。下载可能乱码,先用编辑器打开,再赋值到 Myeclipse  里 or  Eclipse  里。

我的电脑配置,上传个图片。免得大家运算计算 时间戳  结果和我有相差而纠结。配置见图,不高不低。


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/120.html

转载时必须以链接形式注明原始出处及本声明。


附件下载:

备注:点击文件名下载,附件源来自云端,只能在本站下载。复制下载链接无效。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
Elasticsearch Java API 获取version,以及数据_version的介绍
Java 获取图片属性、获取图片EXIF属性操作方法[metadata-extractor]
Java获取域名,Java从URL地址中获取域名,Java从Request 获取域名
根据域名获取IP地址,Java 获取域名的IP地址
Java 正则获取一级域名
Java获取重定向后的真实URL地址
Java 获取webapp,Root,classpath,项目等路径工具类
Java百度云观测对网站的检测数据,获取子域名及域名的安全信息
HttpClient获取访问域名的真实ip,HttpClient请求获取目标IP地址
Java 随机从 List 随机获取多个不重复对象,Mysql 随机10条数据
最新文章
文件上传漏洞与防御 1548
前端构建工具选型指南:Webpack、Vite、Rollup、esbuild 深度对比 494
物联网时代2026年时序数据库选型指南 507
SaaS行业面临AI挑战:从“无限复用”到“灵活适应” 683
神经网络:从构造到模型训练全链路解析 554
一文吃透 Redis 核心存储结构:ziplist、listpack 与哈希表扩容 / 并发查询 982
Linux sudo提权完整指南:从基础用法到生产级安全配置 281
XSS 和 CSRF 的本质区别及开发防御全解析 390
JVM垃圾回收(GC)全维度解析:从原理到调优实战 420
Linux动静态库与ELF加载全解析:从实操制作到底层原理 539
最热文章
免费天气API,天气JSON API,不限次数获取十五天的天气预报 771514
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 708851
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 679457
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 562378
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 512346
Elasticsearch教程(四) elasticsearch head 插件安装和使用 484468
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 301586
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 247158
Elasticsearch教程(一),全程直播(小白级别) 232831
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 228099
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...