欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

2025年04月12日 Java
一、date转localdatetime @test public void test06(){ simpledateformat sdf = new simpledatef

一、date转localdatetime

    @test
    public void test06(){
        simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss");
        // date
        date date = new date();
        system.out.println("date\t" + sdf.format(date));

        // date 转 localdatetime
        datetimeformatter dtf = datetimeformatter.ofpattern("yyyy-mm-dd hh:mm:ss");
        localdatetime datetolocaldatetime = date.toinstant().atzone(zoneid.systemdefault()).tolocaldatetime();
        system.out.println("date to localdatetime\t" + dtf.format(datetolocaldatetime));
    }

二、date转localdate

    @test
    public void test07(){
        simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss");
        // date
        date date = new date();
        system.out.println("date\t" + sdf.format(date));

        // date 转 localdate
        // 注意 localdate 只能有年月日,格式化日期不能有时分秒,否则会报错
        datetimeformatter dtf = datetimeformatter.ofpattern("yyyy-mm-dd");
        localdate datetolocaldate = date.toinstant().atzone(zoneid.systemdefault()).tolocaldate();
        system.out.println("date to localdate\t" + dtf.format(datetolocaldate));
    }

三、localdatetime转localdate

    @test
    public void test08(){
        // localdatetime 转 localdate
        datetimeformatter dtf = datetimeformatter.ofpattern("yyyy-mm-dd");
        localdate localdatetimetolocaldate = localdatetime.now().tolocaldate();
        system.out.println("localdatetime to localdate\t" + dtf.format(localdatetimetolocaldate));
    }

四、localdatetime转localtime

    @test
    public void test09(){
        // localdatetime 转 localtime
        // 注意 localtime 只能有时分秒,格式化日期不能有年月日,否则会报错
        datetimeformatter dtf = datetimeformatter.ofpattern("hh:mm:ss");
        localtime localdatetimetolocaltime = localdatetime.now().tolocaltime();
        system.out.println("localdatetime to localtime\t" + dtf.format(localdatetimetolocaltime));
    }

五、localdatetime转date

    @test
    public void test10(){
        simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss");
        // localdatetime 转 date
        zoneid zoneid = zoneid.systemdefault();
        date localdatetimetodate = date.from(localdatetime.now().atzone(zoneid).toinstant());
        system.out.println("localdatetime to date\t" + sdf.format(localdatetimetodate));
    }

六、localdate转date

    @test
    public void test11(){
        simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss");
        // localdate 转 date
        date localdatetodate = date.from(localdate.now().atstartofday(zoneid.systemdefault()).toinstant());
        system.out.println("localdate to date\t" + sdf.format(localdatetodate));
    }

七、时间戳转localdatetime

    @test
    public void test12(){
        datetimeformatter dtf = datetimeformatter.ofpattern("yyyy-mm-dd hh:mm:ss");
        // 时间戳 转 localdatetime
        long timestamp = localdatetime.now().toinstant(zoneoffset.of("+8")).toepochmilli();
        localdatetime time2 = localdatetime.ofepochsecond(timestamp/1000,0,zoneoffset.ofhours(8));
        system.out.println("时间戳 to localdatetime\t" + dtf.format(time2));
    }

总结

到此这篇关于java中date、localdate、localdatetime、localtime、时间戳之间的相互转换代码的文章就介绍到这了,更多相关java中日期时间相互转换内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!