首页 > 编程语言 >java获取当前时间戳的三种方法比较效率(*)

java获取当前时间戳的三种方法比较效率(*)

时间:2022-10-09 13:11:05浏览次数:82  
标签:java System long times 获取 三种 时间 currentTimeMillis

java获取当前时间戳的三种方法比较效率(*)

获取当前时间戳

//方法 一
System.currentTimeMillis();
//方法 二
Calendar.getInstance().getTimeInMillis();
//方法 三
new Date().getTime();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

获取当前时间

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
  • 1
  • 2

获取时间戳三种方法执行效率比较:

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 188
        for(int i=0;i<times;i++){
            long currentTime=System.currentTimeMillis();
        }
    }
    public static void testCalander(long times){//use 6299
        for(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();
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

执行结果:
在这里插入图片描述
Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,这是因为Canlendar要处理时区问题会耗费较多的时间。

时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。时间戳是一个加密文档,包含:文件的摘要、DTS收到文件的日期和时间以及DTS的数字签名三部分。它具有防篡改、防复用的优点。

https://blog.csdn.net/weixin_42408447/article/details/121799226

标签:java,System,long,times,获取,三种,时间,currentTimeMillis
From: https://www.cnblogs.com/sunny3158/p/16771787.html

相关文章

  • Java 时间字符串转成时间戳 2022-10-08 10:47:08 yyyy-MM-dd HH:mm:ss 1665290918
    Java工具类方法时间字符串转成时间戳2022-10-0810:47:08yyyy-MM-ddHH:mm:ss返回时间戳1665290918publiclonggettimeStemp(Stringtime,Stringformat){ Si......
  • java Locale类使用
    1、定义Locale表示地区。每一个Locale对象都代表了一个特定的地理、政治和文化地区。在操作Date,​​Calendar​​等表示日期/时间的对象时,经常会用到;因为不同的区域,时间......
  • 如何使用JavaScript将Set转换为Array?
    https://blog.csdn.net/m0_66319974/article/details/122436737在JavaScript中,想要将Set(集合)转换为Array数组,可以通过以下方式实现。方法1:使用Array.from()方法Array.......
  • java----冒泡,选择,插入排序
    1.冒泡排序packagelearnday06排序;//动态录入往数组里录入n个数字,并用冒泡排序importjava.util.Arrays;importjava.util.Scanner;publicclassMaopaopaixu{ publ......
  • java 生成GUID,可以用UUID类来生成GUID
    全局唯一标识符(GUID,GloballyUniqueIdentifier)是一种由算法生成的二进制长度为128位的数字标识符,一般用16进制表示。在理想情况下,任何计算机和计算机集群都不会生成......
  • java BigDecimal使用详细介绍BigDecimal.setScale(int newScale, int roundingMode);的
    一、BigDecimal引入开发中经常遇到小数计算,比如System.out.println(1.01+2.31);计算结果并不是3.32而是3.3200000000000003,这是因为不论是float还是double都是浮点数,而计算......
  • JavaScript高级程序设计笔记01 什么是JavaScript
    什么是JavaScript1995年问世。最初在客户端处理某些基本的验证。名字:Mocha->LiveScript->JavaScriptECMAScript脚本语言标准:ECMA-262(TC39,第39技术委员会)完整的的J......
  • JavaScript高级程序设计笔记02 HTML中的JavaScript
    HTML中的JavaScript<script>元素形式行内其中的代码会被从上到下解释。计算完成之前,页面其余内容不会被加载,也不会被显式。外部下载与解析都会阻塞HTML解析,扩展......
  • java原生发送http请求
    根据技术选型总结常见的三种方式发送http请求,本问介绍jdk原生方式,其他两种如下链接​​httpclient和okhttp​​​​Springboot整合RestTemplate发送http请求​​使用JDK原生......
  • Java数组02(内存分析,初始化)
    Java内存分析:数组的三种初始化:静态初始化:int[]a={1,2,3};Man[]mans={newMan(1,1),newMan(2,2)};动态初始化:int[]a=newint[2];a[0]=1;a[1]=2......