时间戳转换

时间戳转时间

时间戳转LocalDateTime

时间戳转LocalDateTime

 public static LocalDateTime toLocalDateTime(Long timeMill) {
 		// 获取系统默认时区
        ZoneId zoneId = ZoneId.systemDefault();
        
        return LocalDateTime.ofInstant(Instant.ofEpochMilli(timeMill), zoneId);
    }
  1. Instant是java8中引入的类,表示从1970年1月1日的时间戳(UTC开始时间戳)
  2. Instant.ofEpochMilli(timeMill)会将以毫秒为单位的时间戳转换为对应的Instant对象。
  3. LocalDateTime.ofInstant(instant, zoneId):这一行代码将Instant对象转换为LocalDateTime对象。LocalDateTime是表示日期和时间的类,不包含时区信息。ofInstant方法接受一个Instant对象和一个ZoneId对象作为参数,它会根据给定的时区将Instant对象转换为相应的LocalDateTime对象。

最终,整个方法的作用就是将以毫秒为单位的时间戳转换为本地的日期和时间,考虑了系统的默认时区。这种转换在需要处理时间和日期数据时非常有用,尤其是在涉及不同时区的数据处理时。

LocalDateTime转时间戳

  public static Long ofTimeMill(LocalDateTime localDateTime) {
        ZoneId zoneId = ZoneId.systemDefault();
        return localDateTime.atZone(zoneId).toInstant().toEpochMilli();
    }
  1. localDateTime.atZone(zoneId)将LocalDateTime对象附加到指定时区,返回一个ZoneDateTime对象
  2. ZoneDateTime.toInstant()将ZoneDateTime对象转换为时间戳类,不包含时区
  3. .toEpochMilli():Instant 对象有一个 .toEpochMilli() 方法,可以将其转换为以毫秒为单位的时间戳。这是从 1970 年 1 月 1 日 UTC(协调世界时)开始的时间戳。

最终,整个方法的作用就是将给定的 LocalDateTime 对象,考虑了系统的默认时区,转换为以毫秒为单位的时间戳。这种转换在需要将本地日期和时间转换为通用的时间戳格式时非常有用。

LocalDateTime获取年月日

 public static String timeStampToString(long timeStamp) {
        ZoneId zoneId = ZoneId.systemDefault();
        Instant instant = Instant.ofEpochMilli(timeStamp);
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId);

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy_MM_dd HH:mm:ss");
        return localDateTime.format(formatter);
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值