欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

教你使用Java获取当前时间戳的详细代码

程序员文章站 2022-06-16 08:12:05
要获取java中的当前时间戳:timestamp timestamp = new timestamp(system.currenttimemillis());//2016-11-16 06:43:19...

要获取java中的当前时间戳:

timestamp timestamp = new timestamp(system.currenttimemillis());
//2016-11-16 06:43:19.77

这是两个java示例,向您展示如何获取java中的当前时间戳。 (使用java 8更新)

1. java.sql.timestamp

获得当前java.sql.timestamp两种方法

timestampexample.java

package com.mkyong.date;
 
import java.sql.timestamp;
import java.text.simpledateformat;
import java.util.date;
public class timestampexample {
    private static final simpledateformat sdf = new simpledateformat("yyyy.mm.dd.hh.mm.ss");
    public static void main(string[] args) {
        //method 1
        timestamp timestamp = new timestamp(system.currenttimemillis());
        system.out.println(timestamp);
        //method 2 - via date
        date date = new date();
        system.out.println(new timestamp(date.gettime()));
        //return number of milliseconds since january 1, 1970, 00:00:00 gmt
        system.out.println(timestamp.gettime());
        //format timestamp
        system.out.println(sdf.format(timestamp));
        
    }
}

输出量

2016-11-16 06:43:19.77
2016-11-16 06:43:19.769
1479249799770
2016.11.16.06.43.19

2. java.time.instant

在java 8中,可以将java.sql.timestamp转换为新的java.time.instant

instantexample.java

package com.mkyong.date;
 
import java.sql.timestamp;
import java.time.instant;
public class instantexample {
    
    public static void main(string[] args) {
        timestamp timestamp = new timestamp(system.currenttimemillis());
        system.out.println(timestamp);
        //return number of milliseconds since january 1, 1970, 00:00:00 gmt
        system.out.println(timestamp.gettime());
        // convert timestamp to instant
        instant instant = timestamp.toinstant();
        system.out.println(instant);
        //return number of milliseconds since the epoch of 1970-01-01t00:00:00z
        system.out.println(instant.toepochmilli());
        // convert instant to timestamp
        timestamp tsfrominstant = timestamp.from(instant);
        system.out.println(tsfrominstant.gettime());
    }
}

输出量

2016-11-16 06:55:40.11
1479250540110
2016-11-15t22:55:40.110z
1479250540110
1479250540110

参考文献

java.sql.timestamp javadoc

java.time.instant javadoc

补充:java获取当前时间戳的方法

获取当前时间戳

//方法 一
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 188
        for(int i=0;i<times;i++){
            long currenttime=system.currenttimemillis();
        }
    public static void testcalander(long times){//use 6299
            long currenttime=calendar.getinstance().gettimeinmillis();
    public static void testdate(long times){
            long currenttime=new date().gettime();
}

执行结果:

133
2372
137

calendar.getinstance().gettimeinmillis() 这种方式速度最慢,这是因为canlendar要处理时区问题会耗费较多的时间。

到此这篇关于如何使用java获取当前时间戳的文章就介绍到这了,更多相关java获取当前时间戳内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!