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);
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


