java代码如何将时间戳转0点0分0秒呢?
下文笔者讲述使用java代码将时间戳这个长整型转换为年月日时分秒的格式呢?下文笔者将一一道来,如下所示
时间戳转换为年月日时分秒的实现思路
1.时间戳转换为LocalDateTime 2.将LocalDateTime(truncatedTo)转换为指定格式
truncatedTo简介
返回LocalDateTime的副本,其中时间被截断 截断返回原始日期-时间的副本 其中小于指定单元的字段设置为零 如: 使用minutes单元进行截断将把秒分和纳秒字段设置为零 单位的持续时间必须是一个标准日的长度,没有余数 这包括ChronoUnit和DAYS上提供的所有时间单位 其他单元抛出异常例:
public static void main(String[] args) { //时间戳 long ts = 1604395432000L; //时间戳转LocalDateTime LocalDateTime time = LocalDateTime.ofInstant(Instant.ofEpochMilli(ts), ZoneOffset.ofHours(8)); //当时分0秒 long l = time.truncatedTo(ChronoUnit.MINUTES).toInstant(ZoneOffset.ofHours(8)).toEpochMilli(); System.out.println(l); //当时0分0秒 l = time.truncatedTo(ChronoUnit.HOURS).toInstant(ZoneOffset.ofHours(8)).toEpochMilli(); System.out.println(l); //当天0点 l = time.truncatedTo(ChronoUnit.DAYS).toInstant(ZoneOffset.ofHours(8)).toEpochMilli(); System.out.println(l); //当月0点 l = time.truncatedTo(ChronoUnit.DAYS).withDayOfMonth(1).toInstant(ZoneOffset.ofHours(8)).toEpochMilli(); System.out.println(l); //当年0点 l = time.truncatedTo(ChronoUnit.DAYS).withDayOfYear(1).toInstant(ZoneOffset.ofHours(8)).toEpochMilli(); System.out.println(l); }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。