JAVA中时间戳与LocalDateTime互相转换代码例子

 更新时间:2023年11月20日 11:10:16   作者:海边的漫彻斯特  
最近在编码过程中遇到将时间戳转化为 LocalDateTime,所以这里给总结下,这篇文章主要给大家介绍了关于JAVA中时间戳与LocalDateTime互相转换的相关资料,需要的朋友可以参考下

时间戳转LocalDateTime:

要将时间戳转换为LocalDateTime并将LocalDateTime转换回时间戳,使用Java的java.time包。以下是示例代码:

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;

public class TimestampToLocalDateTime {
    public static void main(String[] args) {
    	// 注意:这里是秒级时间戳
        long timestamp = 1692948472; 

        // 使用Instant从时间戳创建时间点
        Instant instant = Instant.ofEpochSecond(timestamp);

        // 使用ZoneId定义时区(可以根据需要选择不同的时区)
        ZoneId zoneId = ZoneId.of("Asia/Shanghai");

        // 将Instant转换为LocalDateTime
        LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();

        System.out.println("时间戳: " + timestamp);
        System.out.println("转换后的LocalDateTime: " + localDateTime);
    }
}

LocalDateTime转时间戳:

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;

public class LocalDateTimeToTimestamp {
    public static void main(String[] args) {
        // 创建一个LocalDateTime对象
        LocalDateTime localDateTime = LocalDateTime.of(2023, 8, 25, 0, 0);

        // 使用ZoneId定义时区(可以根据需要选择不同的时区)
        ZoneId zoneId = ZoneId.of("Asia/Shanghai");

        // 将LocalDateTime转换为Instant
        Instant instant = localDateTime.atZone(zoneId).toInstant();

        // 获取时间戳
        long timestamp = instant.getEpochSecond();

        System.out.println("LocalDateTime: " + localDateTime);
        System.out.println("转换后的时间戳: " + timestamp);
    }
}

附:LocalDate,LocalDateTime,Date及时间戳的转换

1.时间戳转LocalDateTime,时间戳如果是字符串则先转为long

LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(System.currentTimeMillis()/1000, 0, ZoneOffset.ofHours(8));

2.日期字符串转LocalDate

LocalDate parse = LocalDate.parse(“2020-05-13”);

3.LocalDateTime转LocalDate

LocalDate localDate = LocalDateTime.now().toLocalDate();

4.Date转LocalDate

Date date = new Date();
LocalDate localDate = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate();

或使用系统默认时区

LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

5.时间戳转Date

Date date = new Date(System.currentTimeMillis());

date.setTime(System.currentTimeMillis());

6.Date转LocalDateTime

LocalDateTime localDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault());

7.LocalDateTime转Date

Date date1 = Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant());

8.LocalDate转Date

ZonedDateTime zonedDateTime = LocalDate.now().atStartOfDay(ZoneId.systemDefault());
Date date = Date.from(zonedDateTime.toInstant());

总结 

到此这篇关于JAVA中时间戳与LocalDateTime互相转换的文章就介绍到这了,更多相关JAVA时间戳和LocalDateTime互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java整合mybatis实现过滤数据

    Java整合mybatis实现过滤数据

    这篇文章主要介绍了Java整合mybatis实现过滤数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • java实现Floyd算法

    java实现Floyd算法

    这篇文章主要为大家详细介绍了java实现Floyd算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • spring boot动态切换数据源的实现

    spring boot动态切换数据源的实现

    这篇文章主要介绍了spring boot动态切换数据源的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 使用hutool工具进行导入导出excel表格

    使用hutool工具进行导入导出excel表格

    如何在后台添加导入导出表格的功能呢,本期的文章将会带领小伙伴们一起实现此功能,文中有详细的代码示例和图文介绍,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-10-10
  • springboot排除某些自动配置的操作方法

    springboot排除某些自动配置的操作方法

    Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用Spring Boot 某些类的自动化配置了,本文给大家介绍springboot排除某些自动配置的方法,感兴趣的朋友一起看看吧
    2023-08-08
  • Java使用Collections工具类对List集合进行排序

    Java使用Collections工具类对List集合进行排序

    这篇文章主要介绍了Java使用Collections工具类对List集合进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • SpringBoot根据各地区时间设置接口有效时间的实现方式

    SpringBoot根据各地区时间设置接口有效时间的实现方式

    这篇文章给大家介绍了SpringBoot根据各地区时间设置接口有效时间的实现方式,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • Java中常见的对象转换工具

    Java中常见的对象转换工具

    对象进行对象的转换是一个操作重复且繁琐的工作,于是市面上就有许多的对象转换工具来解决这个问题,下面我们就来看看几个比较常用的工具(mapstruct,Spring BeanUtils,Apache BeanUtils)使用方式及其性能
    2023-04-04
  • Java中使用byte[]获取16位字符串的技巧分享

    Java中使用byte[]获取16位字符串的技巧分享

    在Java编程中,处理字符编码和字节数组时,尤其是从​​byte[]​​​数组中获取字符串,可能会遇到字符集的复杂性问题,本文将介绍如何从一个​​byte[]​​数组中正确获取16位字符串,需要的朋友可以参考下
    2024-08-08
  • Mybatis延迟加载原理和延迟加载配置详解

    Mybatis延迟加载原理和延迟加载配置详解

    这篇文章主要介绍了Mybatis延迟加载原理和延迟加载配置详解,MyBatis中的延迟加载,也称为懒加载,是指在进行表的关联查询时,按照设置延迟规则推迟对关联对象的select查询,需要的朋友可以参考下
    2023-10-10

最新评论