一、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中日期时间相互转换内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!