Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码
更新时间:2025年04月12日 13:54:33 作者:一个默默小透明
这篇文章主要介绍了Java中日期时间转换的多种方法,包括将Date转换为LocalDateTime、LocalDate等,以及将时间戳转换为LocalDateTime,文中通过代码介绍的非常详细,需要的朋友可以参考下
一、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中日期时间相互转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring Security源码解析之权限访问控制是如何做到的
Spring Security 中对于权限控制默认已经提供了很多了,但是,一个优秀的框架必须具备良好的扩展性,下面小编给大家介绍Spring Security源码解析之权限访问控制是如何做到的,感兴趣的朋友跟随小编一起看看吧2021-05-05
如何使用Spring Security实现用户-角色-资源的权限控制
文章介绍了如何通过SpringSecurity实现用户-角色-资源的权限管理,包括基于角色的请求控制、加载用户角色信息、角色与资源的关联等步骤,同时,提供了一些测试场景,以验证权限控制是否正确,感兴趣的朋友跟随小编一起看看吧2024-10-10
IDEA 集成 Docker 插件一键部署 SpringBoot 应用
通过本文介绍的方法,我们期望能帮助开发者更轻松地在IDEA中实现Spring Boot应用的Docker化部署,为现代软件开发提供更便捷的解决方案,感兴趣的朋友一起看看吧2023-11-11


最新评论