Java8时间新特性 LocalDateTime 怎么返回long型时间戳

在Java 8中,将LocalDateTime转换为long型时间戳通常涉及以下步骤:

  1. 获取当前时间戳: 使用LocalDateTime类的now()方法获取当前时间:

    java
    LocalDateTime now = LocalDateTime.now();
  2. 转换为Epoch时间: 使用Instant类将LocalDateTime转换为Epoch时间,即从1970年1月1日午夜(UTC)开始的毫秒数:

    java
    Instant instant = now.atZone(ZoneId.systemDefault()).toInstant(); long timestamp = instant.toEpochMilli();

    或者直接使用System.currentTimeMillis()获取当前的Epoch时间:

    java
    long timestamp = System.currentTimeMillis();
  3. 自定义时间转换: 如果需要将特定的LocalDateTime转换为时间戳,可以使用DateTimeFormatter自定义格式化:

    java
    String dateTimeStr = "2024-07-16T10:15:30"; LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr); long timestamp = dateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();

这些步骤使你能够轻松地在Java 8中将LocalDateTime对象转换为long型时间戳,适用于获取当前时间戳或特定日期时间的转换需求。